diff --git a/data/generate_makefile_skins.sh b/data/generate_makefile_skins.sh new file mode 100644 index 0000000000..677e8ed8a9 --- /dev/null +++ b/data/generate_makefile_skins.sh @@ -0,0 +1,26 @@ +#!/bin/sh +echo SKIN_SOURCES:=\\ +while read skinname +do + skinpath=../../skins/"$skinname" + for f in $skinpath/*.{asm,ASM} + do + if [ ! -f "$f" ]; then continue; fi + if expr "$f" : '.*\.dtp' > /dev/null; then continue; fi + echo -n allskins/$skinname.skn | sed 's/ /|/g' + echo -n ':Skins/:' + echo -n $f | sed 's/ /|/g' + echo " \\" + done + for f in ../../skins/"$skinname"/*/*.{asm,ASM} + do + if [ ! -f "$f" ]; then continue; fi + if expr "$f" : '.*\.dtp' > /dev/null; then continue; fi + g=`basename "$(dirname "$f")"` + echo -n allskins/$g.skn | sed 's/ /|/g' + echo -n ':Skins/:' + echo -n $f | sed 's/ /|/g' + echo " \\" + done +done +echo '# end of list' diff --git a/data/rus/Makefile b/data/rus/Makefile index 5efc515fe2..e190a6b136 100644 --- a/data/rus/Makefile +++ b/data/rus/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. @@ -270,6 +273,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 \ @@ -277,6 +285,11 @@ 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 \ + /=distr_data/readme_dos.txt \ + Skins/=$(REPOSITORY)/skins/authors.txt \ #end of list # Some macro for convenient work. @@ -321,12 +334,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 \ @@ -358,7 +370,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: @@ -369,7 +381,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 @@ -394,6 +406,10 @@ $(DOCDIR)SYSFUNCR.TXT: $(KERNEL)/docs/sysfuncr.txt # Similar for C--. include Makefile.cmm +# Recode some text files from native encoding aka cp866 to cp1251 +distr_data/readme.txt: distr_data/readme_dos.txt + iconv -f cp866 -t cp1251 $< > $@ + # Sorry, even black magic seems to be insufficient for # auto-handling all subtle effects. So we just define # command lines for compiling and linking, and diff --git a/data/rus/Makefile.fasm b/data/rus/Makefile.fasm index 26e456d6e3..acf397fb86 100644 --- a/data/rus/Makefile.fasm +++ b/data/rus/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/rus/distr_data/KolibriOS_icon.ico b/data/rus/distr_data/KolibriOS_icon.ico new file mode 100644 index 0000000000..fcba0849d9 Binary files /dev/null and b/data/rus/distr_data/KolibriOS_icon.ico differ diff --git a/data/rus/distr_data/autorun.inf b/data/rus/distr_data/autorun.inf new file mode 100644 index 0000000000..a3c071e7c4 --- /dev/null +++ b/data/rus/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/rus/distr_data/readme.txt b/data/rus/distr_data/readme.txt new file mode 100644 index 0000000000..07b8a37637 --- /dev/null +++ b/data/rus/distr_data/readme.txt @@ -0,0 +1,13 @@ +Êîëèáðè ÎÑ 0.7.7.0+, LiveCD-âåðñèÿ. + +Ýòî çàãðóçî÷íûé CD-Rom. ×òîáû óâèäåòü ñèñòåìó â äåéñòâèè, ïåðåçàãðóçèòåñü, +óêàçàâ BIOS ëèáî â çàãðóçî÷íîì ìåíþ (åñëè òàêîå ìîæíî âûçâàòü), ëèáî +â íàñòðîéêàõ çàãðóçêó ñ CD. + +Èçìåíåíèÿ è äîðàáîòêè ïî ñðàâíåíèþ ñ Êîëèáðè 0.7.7.0 îïèñàíû â ôàéëàõ +readme.txt, ðàñïîëîæåííûõ â ïàïêå Docs. À òàêæå â ÎÑ â ïðèëîæåíèè docpak. +Èñòîðèÿ èçìåíåíèé, íà÷èíàÿ ñ ïåðâîé âåðñèè, îïèñàíà â history.txt. + +Èíñòðóêöèè ïî óñòàíîâêå íà äðóãèå íîñèòåëè èíôîðìàöèè, à òàêæå ìèíèìàëüíûå +ñèñòåìíûå òðåáîâàíèÿ äëÿ óñòàíîâêè îïèñàíû â ôàéëàõ install.txt. +Èíñòðóêöèè ïî íàñòðîéêå - â ôàéëàõ config.txt. diff --git a/data/rus/distr_data/readme_dos.txt b/data/rus/distr_data/readme_dos.txt new file mode 100644 index 0000000000..c29ea7eb70 --- /dev/null +++ b/data/rus/distr_data/readme_dos.txt @@ -0,0 +1,13 @@ +Š®«¨¡à¨ Ž‘ 0.7.7.0+, LiveCD-¢¥àá¨ï. + +â® § £à㧮ç­ë© CD-Rom. —⮡ë 㢨¤¥âì á¨á⥬㠢 ¤¥©á⢨¨, ¯¥à¥§ £à㧨â¥áì, +㪠§ ¢ BIOS «¨¡® ¢ § £à㧮筮¬ ¬¥­î (¥á«¨ â ª®¥ ¬®¦­® ¢ë§¢ âì), «¨¡® +¢ ­ áâனª å § £à㧪ã á CD. + +ˆ§¬¥­¥­¨ï ¨ ¤®à ¡®âª¨ ¯® áà ¢­¥­¨î á Š®«¨¡à¨ 0.7.7.0 ®¯¨á ­ë ¢ ä ©« å +readme.txt, à á¯®«®¦¥­­ëå ¢ ¯ ¯ª¥ Docs. € â ª¦¥ ¢ Ž‘ ¢ ¯à¨«®¦¥­¨¨ docpak. +ˆáâ®à¨ï ¨§¬¥­¥­¨©, ­ ç¨­ ï á ¯¥à¢®© ¢¥àᨨ, ®¯¨á ­  ¢ history.txt. + +ˆ­áâàãªæ¨¨ ¯® ãáâ ­®¢ª¥ ­  ¤à㣨¥ ­®á¨â¥«¨ ¨­ä®à¬ æ¨¨,   â ª¦¥ ¬¨­¨¬ «ì­ë¥ +á¨á⥬­ë¥ âॡ®¢ ­¨ï ¤«ï ãáâ ­®¢ª¨ ®¯¨á ­ë ¢ ä ©« å install.txt. +ˆ­áâàãªæ¨¨ ¯® ­ áâனª¥ - ¢ ä ©« å config.txt.