$$(ASSEMBLE) $$<
endef
-define makesubmakefile
-set -e; d=.submakefile.new; rm -f $$d; for f in "$$@";do echo "$$f" >>$$d; done
---
+define submakefiletext
$(foreach prog, $(PROGRAMS), $(call define_prog,$(prog)))
$(foreach da, idlocs% config %+morse %+pindata blank%,
$(call define_directasm,$(da)))
endef
+export submakefiletext
-.submakefile: $(CEBPIC)manypics.make Makefile
- : $(shell $(makesubmakefile)) ... generate .submakefile
- @mv -f $@.new $@
-
-ifneq ($(MAKECMDGOALS),clean)
-include .submakefile
-endif
+$(eval $(submakefiletext))
blank0.asm blank2.asm blank4.asm blank6.asm: blank%.asm: $(CEBPIC)manypics.make
echo >$@.new " org 0x$*000"
./$^ inc $o
%+vars.inc: %.asm $(CEBPIC)manypics.make
- perl -ne ' \
- BEGIN { print "; autogenerated - do not edit\n"; } \
- next unless m/^\w+\s+equ\s+/; \
- print $$_ or die $$!; \
- ' <$< $o
+ perl -n \
+ -e ' BEGIN { print "; autogenerated - do not edit\n"; } '\
+ -e ' next unless m/^\w+\s+equ\s+/; '\
+ -e ' print $$_ or die $$!; '\
+ <$< $o
%+vars.fin: %.asm $(CEBPIC)manypics.make
- perl -ne ' \
- BEGIN { print "; autogenerated - do not edit\n"; } \
- next unless m/^(\w+)\s/; \
- next if m/^\w+\s+(?:equ|udata|udata_acs)\s+/; \
- print " extern $$1\n" or die $$!; \
- ' <$< $o
+ perl -n \
+ -e ' BEGIN { print "; autogenerated - do not edit\n"; } '\
+ -e ' next unless m/^(\w+)\s/; '\
+ -e ' next if m/^\w+\s+(?:equ|udata|udata_acs)\s+/; '\
+ -e ' print " extern $$1\n" or die $$!; '\
+ <$< $o
%+morse.asm: $(CEBPIC)morse-generator morse.messages %+program.map
./$^ asm -I$(MORSE_INCLUDE) $o