diff --git a/data/eng/Makefile b/data/eng/Makefile index 93ddeb8d38..f45bf11a6c 100644 --- a/data/eng/Makefile +++ b/data/eng/Makefile @@ -9,6 +9,9 @@ REPOSITORY:=../.. KERNEL:=$(REPOSITORY)/kernel/trunk PROGS:=$(REPOSITORY)/programs +# The main goal: build kolibri.img and kolibri.iso +all: $(BUILD_DIR)/kolibri.img $(BUILD_DIR)/kolibri.iso + # Docpak requires some documents; we place them # into 'docs' subdir and communicate with FASM # through environment var DOCDIR. @@ -276,6 +279,11 @@ OTHER_FILES:=autorun.dat:AUTORUN.DAT \ #end of list #3d/logio.bmp:3D/LOGIO.BMP 3d/cubetext:3D/CUBETEXT +# Generate skins list understandable by gnu make +Makefile.skins: $(REPOSITORY)/skins/authors.txt $(REPOSITORY)/data/generate_makefile_skins.sh + cut -f1 $< | $(SHELL) $(REPOSITORY)/data/generate_makefile_skins.sh > $@ +include Makefile.skins + # Extra targets for LiveCD image in the syntax of mkisofs MKISOFS_EXTRA:=\ dosbox/=$(PROGS)/emulator/DosBox/dosbox \ @@ -283,6 +291,10 @@ MKISOFS_EXTRA:=\ dosbox/=$(PROGS)/emulator/DosBox/readme.txt \ /=drivers/atikms \ /=drivers/atikms.dll \ + /=distr_data/autorun.inf \ + /=distr_data/KolibriOS_icon.ico \ + /=distr_data/readme.txt \ + Skins/=$(REPOSITORY)/skins/authors.txt \ #end of list # Some macro for convenient work. @@ -327,12 +339,11 @@ define newline endef mcopy_all_items:=$(foreach f,$(targets_full),$(mcopy_item_command)$(newline)) +# add skins to MKISOFS_EXTRA +MKISOFS_EXTRA:=$(MKISOFS_EXTRA) $(foreach f,$(SKIN_SOURCES),$(call imagepart,$(f))=$(call binarypart,$(f))) # dependencies of MKISOFS_EXTRA; we iterate through $(MKISOFS_EXTRA), # substitute "=" with space, get the 2nd word and join all results -mkisofs_extra_targets:=$(foreach f,$(MKISOFS_EXTRA),$(word 2,$(subst =, ,$(f)))) - -# The main goal: build kolibri.img and kolibri.iso -all: $(BUILD_DIR)/kolibri.img $(BUILD_DIR)/kolibri.iso +mkisofs_extra_targets:=$(call respace,$(foreach f,$(MKISOFS_EXTRA),$(word 2,$(subst =, ,$(f))))) # The first goal: floppy image. $(BUILD_DIR)/kolibri.img: $(BUILD_DIR)/.dir \ @@ -364,7 +375,7 @@ $(BUILD_DIR)/kolibri.img: $(BUILD_DIR)/.dir \ $(BUILD_DIR)/kolibri.iso: $(BUILD_DIR)/kolibri.img $(mkisofs_extra_targets) mkisofs -U -J -pad -b kolibri.img -c boot.catalog -hide-joliet boot.catalog -hide-joliet kolibri.img -graft-points \ -A "KolibriOS AutoBuilder" -p "CleverMouse" -publisher "KolibriOS Team" -V "KolibriOS r$(REV)" -sysid "KOLIBRI" \ - -iso-level 3 -o $(BUILD_DIR)/kolibri.iso $(BUILD_DIR)/kolibri.img $(MKISOFS_EXTRA) 2>&1 + -iso-level 3 -o $(BUILD_DIR)/kolibri.iso $(BUILD_DIR)/kolibri.img $(call respace,$(MKISOFS_EXTRA)) 2>&1 # Special targets to modify behaviour of make. .DELETE_ON_ERROR: @@ -375,7 +386,7 @@ $(BUILD_DIR)/boot_fat12.bin: $(KERNEL)/bootloader/boot_fat12.asm $(KERNEL)/bootl fasm $(KERNEL)/bootloader/boot_fat12.asm $(BUILD_DIR)/boot_fat12.bin $(BUILD_DIR)/.dir 3d/.dir demos/.dir develop/.dir develop/info/.dir drivers/.dir fonts/.dir \ - games/.dir lib/.dir media/.dir network/.dir .deps/.dir: + games/.dir lib/.dir media/.dir network/.dir allskins/.dir .deps/.dir: mkdir -p $(dir $@) touch $@ develop/info/.dir: develop/.dir diff --git a/data/eng/Makefile.fasm b/data/eng/Makefile.fasm index 26e456d6e3..acf397fb86 100644 --- a/data/eng/Makefile.fasm +++ b/data/eng/Makefile.fasm @@ -28,7 +28,7 @@ # $(4) = name of program - without path and extension, define fasm_meta_rule $(1): $(2) Makefile.fasm .deps/.dir $$(call respace,$$(addsuffix .dir,$(3))) - fasm -m 65536 $$< "$$@" -s .deps/$(4).fas + fasm -m 65536 "$$<" "$$@" -s .deps/$(4).fas prepsrc .deps/$(4).fas /dev/null prepsrc .deps/$(4).fas /dev/stdout | \ perl -n -e 's|\\|/|g;s| |\\ |g;push @a,$$$$1 if/^;include\\ \x27(.*?)\x27/;' \ @@ -39,11 +39,11 @@ endef progname=$(call respace,$(basename $(notdir $(call binarypart,$(f))))) binarydir=$(subst ./,,$(dir $(call binarypart,$(f)))) -$(foreach f,$(FASM_PROGRAMS) $(FASM_PROGRAMS_CD),$(eval $(call fasm_meta_rule,$(fbinary),$(fsource),$(binarydir),$(progname)))) +$(foreach f,$(FASM_PROGRAMS) $(FASM_PROGRAMS_CD) $(SKIN_SOURCES),$(eval $(call fasm_meta_rule,$(fbinary),$(fsource),$(binarydir),$(progname)))) # Rule for the kernel differs: it uses kerpack instead of kpack. kernel.mnt: $(KERNEL)/kernel.asm Makefile.fasm .deps/.dir - fasm -m 65536 $< "$@" -s .deps/kernel.fas + fasm -m 65536 "$<" "$@" -s .deps/kernel.fas prepsrc .deps/kernel.fas /dev/null prepsrc .deps/kernel.fas /dev/stdout | \ perl -n -e 's|\\|/|g;s| |\\ |g;push @a,$$1 if/^;include\\ \x27(.*?)\x27/;' \ diff --git a/data/eng/distr_data/KolibriOS_icon.ico b/data/eng/distr_data/KolibriOS_icon.ico new file mode 100644 index 0000000000..fcba0849d9 Binary files /dev/null and b/data/eng/distr_data/KolibriOS_icon.ico differ diff --git a/data/eng/distr_data/autorun.inf b/data/eng/distr_data/autorun.inf new file mode 100644 index 0000000000..a3c071e7c4 --- /dev/null +++ b/data/eng/distr_data/autorun.inf @@ -0,0 +1,3 @@ +[AutoRun] +icon=KolibriOS_icon.ico +shellexecute=readme.txt \ No newline at end of file diff --git a/data/eng/distr_data/readme.txt b/data/eng/distr_data/readme.txt new file mode 100644 index 0000000000..a17b0e785c --- /dev/null +++ b/data/eng/distr_data/readme.txt @@ -0,0 +1,12 @@ +Kolibri OS 0.7.7.0+ night build, LiveCD-version. + +This is a bootable CD-Rom. To see the system in action, reboot and point to +BIOS either in boot menu (if it can be called) or in settings booting from CD. + +Changes and revisions compared with Kolibri 0.7.7.0 are described in file +readme.txt, which is placed in Docs folder. And also in OS in the application +docpak. + +Instructions for install to other information mediums and minimal system +requirements can be found in file install.txt. +Instructions for configuring can be found in file config.txt.