Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 5044 → Rev 5047

/data/common/Makefile.main/Makefile
1,3 → 1,9
# This Makefile is included by root Makefiles of every build,
# root Makefiles set BUILD_TYPE correspondingly.
# Note that the current directory is data/$BUILD_TYPE, not data/common,
# so relative references like "file" are resolved as data/$BUILD_TYPE/file,
# not data/common/file.
 
# General rule for naming: variables with CAPITALIZED names hold settings,
# you can - and are expected - to modify it; variables with lowercase names
# are intermediate variables and macroses not to be modified unless you
73,7 → 79,6
madmouse:MADMOUSE:$(PROGS)/other/madmouse/madmouse.asm \
mykey:MYKEY:$(PROGS)/system/MyKey/trunk/MyKey.asm \
pcidev:PCIDEV:$(PROGS)/system/pcidev/trunk/PCIDEV.ASM \
period:PERIOD:$(PROGS)/other/period/trunk/period.asm \
rdsave:RDSAVE:$(PROGS)/system/rdsave/trunk/rdsave.asm \
rtfread:RTFREAD:$(PROGS)/other/rtfread/trunk/rtfread.asm \
run:RUN:$(PROGS)/system/run/trunk/run.asm \
113,7 → 118,6
develop/scancode:DEVELOP/SCANCODE:$(PROGS)/develop/scancode/trunk/scancode.asm \
develop/t_edit:DEVELOP/T_EDIT:$(PROGS)/other/t_edit/t_edit.asm \
develop/test_gets:DEVELOP/test_gets:$(PROGS)/develop/libraries/console/examples/test_gets.asm \
develop/testcon2:DEVELOP/TESTCON2:$(PROGS)/develop/libraries/console/examples/testcon2_rus.asm \
develop/thread:DEVELOP/THREAD:$(PROGS)/develop/examples/thread/trunk/thread.asm \
develop/info/asm.syn:DEVELOP/INFO/ASM.SYN:$(PROGS)/other/t_edit/info/asm_syn.asm \
develop/info/cpp_kol_cla.syn:DEVELOP/INFO/CPP_KOL_CLA.SYN:$(PROGS)/other/t_edit/info/cpp_kol_cla_syn.asm \
135,8 → 139,6
drivers/usbstor.obj:DRIVERS/USBSTOR.OBJ:$(KERNEL)/drivers/usbstor.asm \
drivers/vt823x.obj:DRIVERS/VT823X.OBJ:$(KERNEL)/drivers/vt823x.asm \
drivers/3c59x.obj:DRIVERS/3C59X.OBJ:$(REPOSITORY)/drivers/ethernet/3c59x.asm \
drivers/dec21x4x.obj:DRIVERS/DEC21X4X.OBJ:$(REPOSITORY)/drivers/ethernet/dec21x4x.asm \
drivers/rtl8139.obj:DRIVERS/RTL8139.OBJ:$(REPOSITORY)/drivers/ethernet/RTL8139.asm \
drivers/rtl8169.obj:DRIVERS/RTL8169.OBJ:$(REPOSITORY)/drivers/ethernet/RTL8169.asm \
File|Managers/kfar:File|Managers/KFAR:$(PROGS)/fs/kfar/trunk/kfar.asm \
File|Managers/kfm:File|Managers/KFM:$(PROGS)/fs/kfm/trunk/kfm.asm \
196,9 → 198,22
network/ircc:NETWORK/IRCC:$(PROGS)/network/ircc/ircc.asm \
network/downloader:NETWORK/DOWNLOADER:$(PROGS)/network/downloader/downloader.asm \
# end of list
# For russian build, add russian-only programs.
ifeq ($(BUILD_TYPE),rus)
FASM_PROGRAMS:=$(FASM_PROGRAMS) \
period:PERIOD:$(PROGS)/other/period/trunk/period.asm \
develop/testcon2:DEVELOP/TESTCON2:$(PROGS)/develop/libraries/console/examples/testcon2_rus.asm \
# end of list
else
FASM_PROGRAMS:=$(FASM_PROGRAMS) \
develop/testcon2:DEVELOP/TESTCON2:$(PROGS)/develop/libraries/console/examples/testcon2_eng.asm \
games/soko:GAMES/SOKO:$(PROGS)/games/soko/trunk/SOKO.ASM \
# end of list
endif
# Same as above with PE stripping as extra step.
FASM_PROGRAMS_PESTRIP:=\
drivers/vidintel.sys:DRIVERS/VIDINTEL.SYS:$(REPOSITORY)/drivers/video/vidintel.asm \
drivers/dec21x4x.sys:DRIVERS/DEC21X4X.SYS:$(REPOSITORY)/drivers/ethernet/dec21x4x.asm \
drivers/forcedeth.sys:DRIVERS/FORCEDETH.SYS:$(REPOSITORY)/drivers/ethernet/forcedeth.asm \
drivers/i8254x.sys:DRIVERS/I8254X.SYS:$(REPOSITORY)/drivers/ethernet/i8254x.asm \
drivers/i8255x.sys:DRIVERS/I8255X.SYS:$(REPOSITORY)/drivers/ethernet/i8255x.asm \
207,6 → 222,7
drivers/r6040.sys:DRIVERS/R6040.SYS:$(REPOSITORY)/drivers/ethernet/R6040.asm \
drivers/rhine.sys:DRIVERS/RHINE.SYS:$(REPOSITORY)/drivers/ethernet/rhine.asm \
drivers/rtl8029.sys:DRIVERS/RTL8029.SYS:$(REPOSITORY)/drivers/ethernet/RTL8029.asm \
drivers/rtl8139.sys:DRIVERS/RTL8139.SYS:$(REPOSITORY)/drivers/ethernet/RTL8139.asm \
drivers/sis900.sys:DRIVERS/SIS900.SYS:$(REPOSITORY)/drivers/ethernet/sis900.asm \
drivers/uhci.sys:DRIVERS/UHCI.SYS:$(REPOSITORY)/drivers/usb/uhci.asm \
drivers/ohci.sys:DRIVERS/OHCI.SYS:$(REPOSITORY)/drivers/usb/ohci.asm \
249,6 → 265,8
demos/aclock:DEMOS/ACLOCK:$(PROGS)/demos/aclock/trunk/aclock.asm \
demos/timer:DEMOS/TIMER:$(PROGS)/other/Timer/Timer.asm \
games/c4:GAMES/C4:$(PROGS)/games/c4/trunk/c4.asm \
tinfo:TINFO:$(PROGS)/system/tinfo/tinfo.asm \
develop/mstate:DEVELOP/MSTATE:$(PROGS)/develop/mstate/mstate.asm \
# end of list
 
# The list of files which should be copied from somewhere.
262,17 → 280,41
develop/tl_sys_16.png:DEVELOP/TL_SYS_16.PNG:$(PROGS)/media/log_el/trunk/tl_sys_16.png \
develop/t_edit.ini:DEVELOP/T_EDIT.INI:$(PROGS)/other/t_edit/t_edit.ini \
File|Managers/z_icons.png:File|Managers/Z_ICONS.PNG:$(PROGS)/fs/opendial/z_icons.png \
File|Managers/kfm_keys.txt:File|Managers/KFM_KEYS.TXT:$(PROGS)/fs/kfm/trunk/docs/russian/dos_kolibri/kfm_keys.txt \
File|Managers/buttons.bmp:File|Managers/BUTTONS.BMP:$(PROGS)/fs/kfm/trunk/buttons.bmp \
File|Managers/icons.bmp:File|Managers/ICONS.BMP:$(PROGS)/fs/kfm/trunk/icons.bmp \
fonts/litt.chr:FONTS/LITT.CHR:$(PROGS)/demos/bgitest/trunk/FONTS/LITT.CHR \
games/snake.ini:GAMES/SNAKE.INI:$(PROGS)/games/snake/trunk/snake.ini \
media/kiv.ini:MEDIA/KIV.INI:$(PROGS)/media/kiv/trunk/kiv.ini \
network/wv_skin.png:NETWORK/WV_SKIN.PNG:$(PROGS)/cmm/browser/wv_skin.png \
# end of list
ifeq ($(BUILD_TYPE),rus)
COPY_FILES:=$(COPY_FILES) \
File|Managers/kfm_keys.txt:File|Managers/KFM_KEYS.TXT:$(PROGS)/fs/kfm/trunk/docs/russian/dos_kolibri/kfm_keys.txt \
settings/.shell:SETTINGS/.shell:$(PROGS)/system/shell/bin/rus/.shell \
settings/mykey.ini:SETTINGS/MYKEY.INI:$(PROGS)/system/MyKey/trunk/mykey.ini \
example.asm:EXAMPLE.ASM:$(PROGS)/develop/examples/example/trunk/rus/example.asm \
network/wv_skin.png:NETWORK/WV_SKIN.PNG:$(PROGS)/cmm/browser/wv_skin.png \
# end of list
else
COPY_FILES:=$(COPY_FILES) \
File|Managers/kfm_keys.txt:File|Managers/KFM_KEYS.TXT:$(PROGS)/fs/kfm/trunk/docs/english/kfm_keys.txt \
games/skin.raw:GAMES/SKIN.RAW:$(PROGS)/games/soko/trunk/SKIN.RAW \
games/soko-4.lev:GAMES/SOKO-4.LEV:$(PROGS)/games/soko/trunk/SOKO-4.LEV \
games/soko-5.lev:GAMES/SOKO-5.LEV:$(PROGS)/games/soko/trunk/SOKO-5.LEV \
games/soko-6.lev:GAMES/SOKO-6.LEV:$(PROGS)/games/soko/trunk/SOKO-6.LEV \
games/soko-7.lev:GAMES/SOKO-7.LEV:$(PROGS)/games/soko/trunk/SOKO-7.LEV \
games/soko-8.lev:GAMES/SOKO-8.LEV:$(PROGS)/games/soko/trunk/SOKO-8.LEV \
games/soko-9.lev:GAMES/SOKO-9.LEV:$(PROGS)/games/soko/trunk/SOKO-9.LEV \
settings/.shell:SETTINGS/.shell:$(PROGS)/system/shell/bin/eng/.shell \
example.asm:EXAMPLE.ASM:$(PROGS)/develop/examples/example/trunk/example.asm \
# end of list
ifeq ($(BUILD_TYPE),it)
COPY_FILES:=$(COPY_FILES) \
settings/mykey.ini:SETTINGS/MYKEY.INI:$(PROGS)/system/MyKey/trunk/mykey_it.ini
else
COPY_FILES:=$(COPY_FILES) \
settings/mykey.ini:SETTINGS/MYKEY.INI:$(PROGS)/system/MyKey/trunk/mykey.ini
endif
endif
 
# The list of all C-- programs with one main C-- file.
# Format of an item is exactly the same as in the previous list,
304,7 → 346,7
../common/kuzkina.mid:KUZKINA.MID lang.inc:LANG.INC \
settings/menu.dat:SETTINGS/MENU.DAT \
settings/kolibri.lbl:SETTINGS/KOLIBRI.LBL \
settings/panel.ini:SETTINGS/PANEL.INI pipetka:PIPETKA \
settings/panel.ini:SETTINGS/PANEL.INI \
../common/settings/docky.ini:SETTINGS/DOCKY.INI \
../common/notify3.png:NOTIFY3.PNG \
settings/setup.dat:SETTINGS/SETUP.DAT \
319,13 → 361,11
../common/demos/rpento.lif:DEMOS/RPENTO.LIF \
../common/File|Managers/eolite.ini:File|Managers/EOLITE.INI \
../common/File|Managers/icons.ini:File|Managers/ICONS.INI \
File|Managers/kfar.ini:File|Managers/KFAR.INI \
../common/File|Managers/kfm.ini:File|Managers/KFM.INI \
games/appdata.dat:GAMES/APPDATA.DAT games/ataka:GAMES/ATAKA \
games/basekurs.kla:GAMES/BASEKURS.KLA games/checkers:GAMES/CHECKERS \
games/megamaze:GAMES/MEGAMAZE games/padenie:GAMES/PADENIE \
games/checkers:GAMES/CHECKERS \
games/megamaze:GAMES/MEGAMAZE \
games/reversi:GAMES/REVERSI games/rforces:GAMES/RFORCES \
games/whowtbam:GAMES/WHOWTBAM games/xonix:GAMES/XONIX \
games/xonix:GAMES/XONIX \
games/kosilka:GAMES/KOSILKA \
../common/lib/pixlib.obj:LIB/PIXLIB.OBJ \
../common/lib/iconv.obj:LIB/ICONV.OBJ \
339,6 → 379,20
../common/network/ftpd.ini:NETWORK/FTPD.INI \
../common/network/users.ini:NETWORK/USERS.INI \
#end of list
ifeq ($(BUILD_TYPE),rus)
OTHER_FILES:=$(OTHER_FILES) \
pipetka:PIPETKA \
File|Managers/kfar.ini:File|Managers/KFAR.INI \
games/appdata.dat:GAMES/APPDATA.DAT games/ataka:GAMES/ATAKA \
games/basekurs.kla:GAMES/BASEKURS.KLA \
games/padenie:GAMES/PADENIE \
games/whowtbam:GAMES/WHOWTBAM \
#end of list
else
OTHER_FILES:=$(OTHER_FILES) \
../common/File|Managers/kfar.ini:File|Managers/KFAR.INI \
#end of list
endif
#3d/logio.bmp:3D/LOGIO.BMP 3d/cubetext:3D/CUBETEXT
 
# Generate skins list understandable by gnu make
351,25 → 405,9
/=distr_data/autorun.inf \
/=distr_data/KolibriOS_icon.ico \
Skins/=$(REPOSITORY)/skins/authors.txt \
Docs/cp866/config.txt=docs/CONFIG.TXT \
Docs/cp866/gnu.txt=docs/GNU.TXT \
Docs/cp866/history.txt=docs/HISTORY.TXT \
Docs/cp866/hot_keys.txt=docs/HOT_KEYS.TXT \
Docs/cp866/install.txt=docs/INSTALL.TXT \
Docs/cp866/readme.txt=docs/README.TXT \
Docs/cp866/sysfuncr.txt=docs/SYSFUNCR.TXT \
Docs/cp1251/config.txt=docs/CONFIG.WIN.TXT \
Docs/cp1251/gnu.txt=docs/GNU.WIN.TXT \
Docs/cp1251/history.txt=docs/HISTORY.WIN.TXT \
Docs/cp1251/hot_keys.txt=docs/HOT_KEYS.WIN.TXT \
Docs/cp1251/install.txt=docs/INSTALL.WIN.TXT \
Docs/cp1251/readme.txt=docs/README.WIN.TXT \
Docs/cp1251/sysfuncr.txt=docs/SYSFUNCR.WIN.TXT \
Docs/stack.txt=docs/STACK.TXT \
HD_Load/9x2klbr/=distr_data/9x2klbr.exe \
HD_Load/9x2klbr/=../common/HD_load/9x2klbr/LDKLBR.VXD \
HD_Load/9x2klbr/=$(PROGS)/hd_load/9x2klbr/readme_dos.txt \
HD_Load/9x2klbr/=$(PROGS)/hd_load/9x2klbr/readme_win.txt \
HD_Load/MeOSLoad/=distr_data/MeOSload.com \
HD_Load/MeOSLoad/=$(PROGS)/hd_load/meosload/AUTOEXEC.BAT \
HD_Load/MeOSLoad/=$(PROGS)/hd_load/meosload/CONFIG.SYS \
376,7 → 414,6
HD_Load/MeOSLoad/=$(PROGS)/hd_load/meosload/L_readme.txt \
HD_Load/MeOSLoad/=$(PROGS)/hd_load/meosload/L_readme_Win.txt \
HD_Load/mtldr/=distr_data/mtldr \
HD_Load/mtldr/=$(PROGS)/hd_load/mtldr/install.txt \
HD_Load/mtldr/=$(PROGS)/hd_load/mtldr/vista_install.bat \
HD_Load/mtldr/=$(PROGS)/hd_load/mtldr/vista_remove.bat \
HD_Load/=distr_data/mtldr_install.exe \
385,7 → 422,6
HD_Load/USB_Boot/=distr_data/MTLD_F32 \
HD_Load/USB_Boot/=distr_data/inst.exe \
HD_Load/USB_Boot/=distr_data/setmbr.exe \
HD_Load/USB_Boot/=$(PROGS)/hd_load/usb_boot/readme.txt \
HD_Load/USB_boot_old/=$(PROGS)/hd_load/usb_boot_old/usb_boot.rtf \
HD_Load/USB_boot_old/=$(PROGS)/hd_load/usb_boot_old/usb_boot_866.txt \
HD_Load/USB_boot_old/=$(PROGS)/hd_load/usb_boot_old/usb_boot_1251.txt \
425,22 → 461,64
kolibrios/media/zsea/plugins/rotate.obj=distr_data/rotate.obj \
kolibrios/media/zsea/plugins/scaling.obj=distr_data/scaling.obj \
kolibrios/media/zsea/zsea.ini=$(REPOSITORY)/programs/media/zsea/zSea.ini \
kolibrios/media/zsea/zsea_keys.txt=$(REPOSITORY)/programs/media/zsea/Docs/zSea_keys_rus.txt \
kolibrios/media/zsea/buttons/buttons.png=$(REPOSITORY)/programs/media/zsea/buttons.png \
#end of list
ifeq ($(BUILD_TYPE),rus)
EXTRA:=$(EXTRA) \
Docs/cp866/config.txt=docs/CONFIG.TXT \
Docs/cp866/gnu.txt=docs/GNU.TXT \
Docs/cp866/history.txt=docs/HISTORY.TXT \
Docs/cp866/hot_keys.txt=docs/HOT_KEYS.TXT \
Docs/cp866/install.txt=docs/INSTALL.TXT \
Docs/cp866/readme.txt=docs/README.TXT \
Docs/cp866/sysfuncr.txt=docs/SYSFUNCR.TXT \
Docs/cp1251/config.txt=docs/CONFIG.WIN.TXT \
Docs/cp1251/gnu.txt=docs/GNU.WIN.TXT \
Docs/cp1251/history.txt=docs/HISTORY.WIN.TXT \
Docs/cp1251/hot_keys.txt=docs/HOT_KEYS.WIN.TXT \
Docs/cp1251/install.txt=docs/INSTALL.WIN.TXT \
Docs/cp1251/readme.txt=docs/README.WIN.TXT \
Docs/cp1251/sysfuncr.txt=docs/SYSFUNCR.WIN.TXT \
HD_Load/9x2klbr/=$(PROGS)/hd_load/9x2klbr/readme_dos.txt \
HD_Load/9x2klbr/=$(PROGS)/hd_load/9x2klbr/readme_win.txt \
HD_Load/mtldr/=$(PROGS)/hd_load/mtldr/install.txt \
HD_Load/USB_Boot/=$(PROGS)/hd_load/usb_boot/readme.txt \
kolibrios/media/zsea/zsea_keys.txt=$(REPOSITORY)/programs/media/zsea/Docs/zSea_keys_rus.txt \
#end of list
else
EXTRA:=$(EXTRA) \
Docs/config.txt=docs/CONFIG.TXT \
Docs/copying.txt=docs/COPYING.TXT \
Docs/hot_keys.txt=docs/HOT_KEYS.TXT \
Docs/install.txt=docs/INSTALL.TXT \
Docs/readme.txt=docs/README.TXT \
Docs/sysfuncs.txt=docs/SYSFUNCS.TXT \
HD_Load/9x2klbr/=$(PROGS)/hd_load/9x2klbr/readme.txt \
HD_Load/mtldr/install.txt=$(PROGS)/hd_load/mtldr/install_eng.txt \
HD_Load/USB_Boot/readme.txt=$(PROGS)/hd_load/usb_boot/readme_eng.txt \
kolibrios/media/zsea/zsea_keys.txt=$(REPOSITORY)/programs/media/zsea/Docs/zSea_keys_eng.txt \
#end of list
endif
DISTRIBUTION_EXTRA:=\
$(EXTRA) \
/readme.txt=distr_data/readme_distr.txt \
/readme_dos.txt=distr_data/readme_dos_distr.txt \
/kolibri.lbl=settings/kolibri.lbl \
#end of list
MKISOFS_EXTRA:=\
$(EXTRA) \
/=distr_data/readme.txt \
/=distr_data/readme_dos.txt \
/=settings/kolibri.lbl \
#end of list
ifeq ($(BUILD_TYPE),rus)
DISTRIBUTION_EXTRA:=$(DISTRIBUTION_EXTRA) \
/readme_dos.txt=distr_data/readme_dos_distr.txt \
#end of list
MKISOFS_EXTRA:=$(MKISOFS_EXTRA) \
/=distr_data/readme_dos.txt \
#end of list
endif
 
ifeq ($(BUILD_TYPE),rus)
# Text files which need to be recoded to cp1251 from native aka cp866
RECODE_TEXT_FILES:=\
distr_data/readme.txt:distr_data/readme_dos.txt \
453,6 → 531,7
docs/README.WIN.TXT:docs/README.TXT \
docs/SYSFUNCR.WIN.TXT:docs/SYSFUNCR.TXT \
#end of list
endif
 
# Some macro for convenient work.
# Macros for replacing '|' to escaped space '\ '.
471,7 → 550,7
fparam=$(call respace,$(call parampart,$(f)))
 
# Add stripped PE files produced by fasm to FASM_NOKPACK_PROGRAMS.
include Makefile.pestrip
include ../common/Makefile.pestrip
FASM_NOKPACK_PROGRAMS:=$(FASM_NOKPACK_PROGRAMS) \
$(foreach f,$(FASM_PROGRAMS_PESTRIP),$(fbinary).full:-:$(fsource))
$(foreach f,$(FASM_PROGRAMS_PESTRIP),$(eval $(call pestrip_meta_rule,$(fbinary),$(fbinary).full)))
527,11 → 606,16
 
# The first goal: floppy image.
$(BUILD_DIR)/kolibri.img: $(BUILD_DIR)/.dir \
Makefile \
Makefile ../common/Makefile.main \
$(BUILD_DIR)/boot_fat12.bin \
$(targets)
ifeq ($(BUILD_TYPE),rus)
str=`LANG=ru_RU.utf8 date -u +"[автосборка %d %b %Y %R, r$(REV)]"|iconv -f utf8 -t cp866`; \
echo -n $$str|dd of=kernel.mnt bs=1 seek=`expr 279 - length "$$str"` conv=notrunc 2>/dev/null
else
str=`date -u +"[auto-build %d %b %Y %R, r$(REV)]"`; \
echo -n $$str|dd of=kernel.mnt bs=1 seek=`expr 279 - length "$$str"` conv=notrunc 2>/dev/null
endif
dd if=/dev/zero of=$(BUILD_DIR)/kolibri.img count=2880 bs=512 2>&1
mformat -f 1440 -i $(BUILD_DIR)/kolibri.img ::
dd if=$(BUILD_DIR)/boot_fat12.bin of=$(BUILD_DIR)/kolibri.img count=1 bs=512 conv=notrunc 2>&1
585,24 → 669,32
distr_data/mtldr_install.exe: mtldr_for_installer
 
# FASM black magic goes to Makefile.fasm.
include Makefile.fasm
include ../common/Makefile.fasm
 
# Similar for NASM.
include Makefile.nasm
include ../common/Makefile.nasm
 
# Similar for copying files.
include Makefile.copy
include ../common/Makefile.copy
 
ifeq ($(BUILD_TYPE),rus)
# Special rules for copying sysfuncr.txt and fasm.txt - they aren't directly included in the image.
docpack: $(DOCDIR)SYSFUNCR.TXT $(DOCDIR)FASM.TXT
$(DOCDIR)SYSFUNCR.TXT: $(KERNEL)/docs/sysfuncr.txt
iconv -f utf-8 -t cp866 $(KERNEL)/docs/sysfuncr.txt > $(DOCDIR)SYSFUNCR.TXT
else
# Special rules for copying sysfuncs.txt and fasm.txt - they aren't directly included in the image.
docpack: $(DOCDIR)SYSFUNCS.TXT $(DOCDIR)FASM.TXT
$(DOCDIR)SYSFUNCS.TXT: $(KERNEL)/docs/sysfuncs.txt
cp $(KERNEL)/docs/sysfuncs.txt $(DOCDIR)SYSFUNCS.TXT
endif
$(DOCDIR)FASM.TXT: $(PROGS)/develop/fasm/trunk/fasm.txt
cp $(PROGS)/develop/fasm/trunk/fasm.txt $(DOCDIR)FASM.TXT
 
# Similar for C--.
include Makefile.cmm
include ../common/Makefile.cmm
 
ifeq ($(BUILD_TYPE),rus)
# Recode some text files from native encoding aka cp866 to cp1251
define recode_meta_rule
$(1): $(2)
609,12 → 701,13
iconv -f cp866 -t cp1251 "$$<" > "$$@"
endef
$(foreach f, $(RECODE_TEXT_FILES), $(eval $(call recode_meta_rule,$(fbinary),$(fimage))))
endif
 
# 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
# maintain the list of sources and objects by hand.
include Makefile.msvc
include ../common/Makefile.msvc
 
# Rules for table
table: .obj.table/table.exe
625,7 → 718,7
TABLE_H_FILES:=$(wildcard $(PROGS)/other/table/*.h)
.obj.table/table.exe: $(TABLE_OBJECTS)
$(msvc_link)
$(TABLE_OBJECTS): .obj.table/%.obj: $(PROGS)/other/table/%.cpp $(TABLE_H_FILES) Makefile.msvc | .obj.table
$(TABLE_OBJECTS): .obj.table/%.obj: $(PROGS)/other/table/%.cpp $(TABLE_H_FILES) ../common/Makefile.msvc | .obj.table
$(msvc_compile)
.obj.table:
mkdir -p .obj.table
641,11 → 734,11
GRAPH_FASM_OBJECTS:=.obj.graph/memcpy.obj .obj.graph/memset.obj
.obj.graph/graph.exe: $(GRAPH_CPP_OBJECTS) $(GRAPH_C_OBJECTS) $(GRAPH_FASM_OBJECTS)
$(msvc_link)
$(GRAPH_CPP_OBJECTS): .obj.graph/%.obj: $(PROGS)/other/graph/%.cpp $(GRAPH_H_FILES) Makefile.msvc | .obj.graph
$(GRAPH_CPP_OBJECTS): .obj.graph/%.obj: $(PROGS)/other/graph/%.cpp $(GRAPH_H_FILES) ../common/Makefile.msvc | .obj.graph
$(msvc_compile)
$(GRAPH_C_OBJECTS): .obj.graph/%.obj: $(PROGS)/other/graph/%.c $(GRAPH_H_FILES) Makefile.msvc | .obj.graph
$(GRAPH_C_OBJECTS): .obj.graph/%.obj: $(PROGS)/other/graph/%.c $(GRAPH_H_FILES) ../common/Makefile.msvc | .obj.graph
$(msvc_compile)
$(GRAPH_FASM_OBJECTS): .obj.graph/%.obj: $(PROGS)/other/graph/%.asm Makefile.msvc | .obj.graph
$(GRAPH_FASM_OBJECTS): .obj.graph/%.obj: $(PROGS)/other/graph/%.asm ../common/Makefile.msvc | .obj.graph
fasm $< $@
.obj.graph:
mkdir -p .obj.graph
657,12 → 750,12
KOSILKA_H_FILES:=$(PROGS)/games/kosilka/*.h
.obj.kosilka/kosilka.exe: $(KOSILKA_OBJECTS)
$(msvc_link)
$(KOSILKA_OBJECTS): .obj.kosilka/%.obj: $(PROGS)/games/kosilka/%.cpp $(KOSILKA_H_FILES) Makefile.msvc | .obj.kosilka
$(KOSILKA_OBJECTS): .obj.kosilka/%.obj: $(PROGS)/games/kosilka/%.cpp $(KOSILKA_H_FILES) ../common/Makefile.msvc | .obj.kosilka
$(msvc_compile)
.obj.kosilka:
mkdir -p .obj.kosilka
 
include Makefile.gcc
include ../common/Makefile.gcc
 
# Rules for shell
shell: .obj.shell/start.o .obj.shell/shell.o .obj.shell/kolibri.o .obj.shell/stdlib.o .obj.shell/string.o .obj.shell/ctype.o \
674,11 → 767,11
$(PROGS)/system/shell/cmd/*.c \
$(PROGS)/system/shell/modules/*.c \
$(PROGS)/system/shell/locale/rus/globals.h \
Makefile.gcc | .obj.shell
../common/Makefile.gcc | .obj.shell
$(gcc_compile)
.obj.shell/kolibri.o .obj.shell/stdlib.o .obj.shell/string.o .obj.shell/ctype.o: .obj.shell/%.o: \
$(PROGS)/system/shell/system/%.c $(PROGS)/system/shell/system/*.h \
Makefile.gcc | .obj.shell
../common/Makefile.gcc | .obj.shell
$(gcc_compile)
.obj.shell/start.o: $(PROGS)/system/shell/start.asm | .obj.shell
fasm $< $@
691,10 → 784,10
$(call gcc_link,$(E80DIR)/kolibri.ld)
.obj.e80/e80.o: $(E80DIR)/e80.c $(E80DIR)/48.h \
$(E80DIR)/system/*.h $(E80DIR)/system/msgbox.c \
$(E80DIR)/z80/z80.h Makefile.gcc | .obj.e80
$(E80DIR)/z80/z80.h ../common/Makefile.gcc | .obj.e80
$(gcc_compile)
.obj.e80/kolibri.o .obj.e80/stdlib.o .obj.e80/string.o: .obj.e80/%.o: \
$(E80DIR)/system/%.c $(E80DIR)/system/*.h Makefile.gcc | .obj.e80
$(E80DIR)/system/%.c $(E80DIR)/system/*.h ../common/Makefile.gcc | .obj.e80
$(gcc_compile)
.obj.e80/z80.o: $(E80DIR)/z80/z80.c $(E80DIR)/z80/*
$(gcc_compile)
722,9 → 815,9
$(msvc_link)
.obj.ac97snd/ac97wav.obj: $(AC97DIR)/ac97snd/ac97wav.c \
$(AC97DIR)/kolibri.h $(AC97DIR)/ac97snd/ac97wav.h $(AC97DIR)/mpg/mpg123.h \
$(AC97DIR)/sound.h $(AC97DIR)/ufmod-codec.h Makefile.msvc | .obj.ac97snd
$(AC97DIR)/sound.h $(AC97DIR)/ufmod-codec.h ../common/Makefile.msvc | .obj.ac97snd
$(msvc_compile)
.obj.ac97snd/crt.obj: $(AC97DIR)/ac97snd/crt.c $(AC97DIR)/ac97snd/crt.h Makefile.msvc | .obj.ac97snd
.obj.ac97snd/crt.obj: $(AC97DIR)/ac97snd/crt.c $(AC97DIR)/ac97snd/crt.h ../common/Makefile.msvc | .obj.ac97snd
$(msvc_compile)
.obj.ac97snd/k_lib.obj: $(AC97DIR)/ac97snd/k_lib.asm $(AC97DIR)/ac97snd/proc32.inc | .obj.ac97snd
fasm $< $@
739,7 → 832,7
AC97SND_MPG_C_OBJECTS:=$(patsubst $(AC97DIR)/mpg/%.c,.obj.ac97snd/%.o,$(AC97SND_MPG_C_FILES))
.obj.ac97snd/mpg.lib: $(AC97SND_MPG_C_OBJECTS) .obj.ac97snd/pow.obj
win32-link /lib /ltcg /out:$@ $^
$(AC97SND_MPG_C_OBJECTS): .obj.ac97snd/%.o: $(AC97DIR)/mpg/%.c $(AC97SND_MPG_H_FILES) Makefile.msvc | .obj.ac97snd
$(AC97SND_MPG_C_OBJECTS): .obj.ac97snd/%.o: $(AC97DIR)/mpg/%.c $(AC97SND_MPG_H_FILES) ../common/Makefile.msvc | .obj.ac97snd
$(msvc_compile)
.obj.ac97snd/pow.obj: $(AC97DIR)/mpg/pow.asm $(AC97DIR)/mpg/proc32.inc | .obj.ac97snd
fasm $< $@