Subversion Repositories Kolibri OS

Rev

Rev 4630 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4630 Rev 5047
Line 25... Line 25...
25
# $(1) = name of binary file,
25
# $(1) = name of binary file,
26
# $(2) = name of main source file.
26
# $(2) = name of main source file.
27
# $(3) = folder of binary file - without spaces.
27
# $(3) = folder of binary file - without spaces.
28
# $(4) = name of program - without path and extension,
28
# $(4) = name of program - without path and extension,
29
define fasm_meta_rule
29
define fasm_meta_rule
30
$(1): $(2) Makefile.fasm .deps/.dir $$(call respace,$$(addsuffix .dir,$(3)))
30
$(1): $(2) ../common/Makefile.fasm .deps/.dir $$(call respace,$$(addsuffix .dir,$(3)))
31
	tmpfile=`mktemp --tmpdir build.XXXXXXXX` && \
31
	tmpfile=`mktemp --tmpdir build.XXXXXXXX` && \
32
	(fasm -m 65536 "$$<" "$$@" -s $$$$tmpfile && \
32
	(fasm -m 65536 "$$<" "$$@" -s $$$$tmpfile && \
33
	fasmdep -e $$$$tmpfile > .deps/$(4).Po && \
33
	fasmdep -e $$$$tmpfile > .deps/$(4).Po && \
34
	rm $$$$tmpfile) || (rm $$$$tmpfile; false)
34
	rm $$$$tmpfile) || (rm $$$$tmpfile; false)
35
	kpack --nologo "$$@"
35
	kpack --nologo "$$@"
36
-include .deps/$(4).Po
36
-include .deps/$(4).Po
37
endef
37
endef
Line 38... Line 38...
38
 
38
 
39
define fasm_nokpack_meta_rule
39
define fasm_nokpack_meta_rule
40
$(1): $(2) Makefile.fasm .deps/.dir $$(call respace,$$(addsuffix .dir,$(3)))
40
$(1): $(2) ../common/Makefile.fasm .deps/.dir $$(call respace,$$(addsuffix .dir,$(3)))
41
	tmpfile=`mktemp --tmpdir build.XXXXXXXX` && \
41
	tmpfile=`mktemp --tmpdir build.XXXXXXXX` && \
42
	(fasm -m 65536 "$$<" "$$@" -s $$$$tmpfile && \
42
	(fasm -m 65536 "$$<" "$$@" -s $$$$tmpfile && \
43
	fasmdep -e $$$$tmpfile > .deps/$(4).Po && \
43
	fasmdep -e $$$$tmpfile > .deps/$(4).Po && \
44
	rm $$$$tmpfile) || (rm $$$$tmpfile; false)
44
	rm $$$$tmpfile) || (rm $$$$tmpfile; false)
Line 49... Line 49...
49
binarydir=$(subst ./,,$(dir $(call binarypart,$(f))))
49
binarydir=$(subst ./,,$(dir $(call binarypart,$(f))))
50
$(foreach f,$(FASM_PROGRAMS) $(FASM_PROGRAMS_CD) $(SKIN_SOURCES),$(eval $(call fasm_meta_rule,$(fbinary),$(fsource),$(binarydir),$(progname))))
50
$(foreach f,$(FASM_PROGRAMS) $(FASM_PROGRAMS_CD) $(SKIN_SOURCES),$(eval $(call fasm_meta_rule,$(fbinary),$(fsource),$(binarydir),$(progname))))
51
$(foreach f,$(FASM_NOKPACK_PROGRAMS),$(eval $(call fasm_nokpack_meta_rule,$(fbinary),$(fsource),$(binarydir),$(progname))))
51
$(foreach f,$(FASM_NOKPACK_PROGRAMS),$(eval $(call fasm_nokpack_meta_rule,$(fbinary),$(fsource),$(binarydir),$(progname))))
Line 52... Line 52...
52
 
52
 
53
# Rule for the kernel differs: it uses kerpack instead of kpack.
53
# Rule for the kernel differs: it uses kerpack instead of kpack.
54
kernel.mnt: $(KERNEL)/kernel.asm Makefile.fasm .deps/.dir
54
kernel.mnt: $(KERNEL)/kernel.asm ../common/Makefile.fasm .deps/.dir
55
	tmpfile=`mktemp --tmpdir build.XXXXXXXX` && \
55
	tmpfile=`mktemp --tmpdir build.XXXXXXXX` && \
56
	(fasm -m 131072 "$<" "$@" -s $$tmpfile && \
56
	(fasm -m 131072 "$<" "$@" -s $$tmpfile && \
57
	fasmdep -e $$tmpfile > .deps/kernel.Po && \
57
	fasmdep -e $$tmpfile > .deps/kernel.Po && \
58
	rm $$tmpfile) || (rm $$tmpfile; false)
58
	rm $$tmpfile) || (rm $$tmpfile; false)