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) |