mirror of
https://github.com/roswell/roswell.git
synced 2026-09-10 07:16:17 -04:00
82 lines
2.2 KiB
Makefile
82 lines
2.2 KiB
Makefile
|
|
# .SECONDEXPANSION:
|
|
|
|
pop = $(filter-out $(firstword $(1)), $(1))
|
|
|
|
# $(info a b c)
|
|
# $(info $(strip a b c))
|
|
# $(info $(firstword $(strip a b c)))
|
|
# $(info $(call pop,$(strip a b c)))
|
|
# $(info a b c)
|
|
|
|
c_dump = ros dump $(call pop,$(1)) executable aaa.ros -o $(firstword $(1))
|
|
u_dump = ros dump --disable-compression $(call pop,$(1)) executable aaa.ros -o $(firstword $(1))
|
|
|
|
targets = baseline docstring destroy package packages except debug compiler macro cmacro combined
|
|
|
|
.PHONY: $(targets) all clean test
|
|
|
|
all: $(targets)
|
|
ls -lh *.bin
|
|
# somehow this does not work
|
|
# %: u-%.bin c-%.bin
|
|
# %.dep: u-%.bin c-%.bin
|
|
|
|
baseline: u-baseline.bin c-baseline.bin
|
|
docstring: u-docstring.bin c-docstring.bin
|
|
#destroy: u-destroy.bin c-destroy.bin
|
|
package: u-package.bin c-package.bin
|
|
packages: u-packages.bin c-packages.bin
|
|
except: u-except.bin c-except.bin
|
|
debug: u-debug.bin c-debug.bin
|
|
compiler: u-compiler.bin c-compiler.bin
|
|
macro: u-macro.bin c-macro.bin
|
|
cmacro: u-cmacro.bin c-cmacro.bin
|
|
#combined: u-combined.bin c-combined.bin
|
|
|
|
|
|
dump = $(call $(firstword $(subst -, ,$@))_dump, $@ $(1))
|
|
|
|
%-baseline.bin : aaa.ros
|
|
$(call dump)
|
|
./$@
|
|
%-docstring.bin : aaa.ros
|
|
$(call dump, --remove-docstrings)
|
|
./$@
|
|
%-destroy.bin : aaa.ros
|
|
$(call dump, --destroy-packages-sbcl)
|
|
./$@
|
|
%-package.bin : aaa.ros
|
|
$(call dump, --delete-package trivia)
|
|
./$@
|
|
%-packages.bin : aaa.ros
|
|
$(call dump, --delete-all-packages)
|
|
./$@
|
|
%-except.bin : aaa.ros
|
|
$(call dump, --delete-packages-except trivia)
|
|
./$@
|
|
%-debug.bin : aaa.ros
|
|
$(call dump, --delete-debug-info)
|
|
./$@
|
|
%-compiler.bin : aaa.ros
|
|
$(call dump, --delete-compiler-information-sbcl)
|
|
./$@
|
|
%-macro.bin : aaa.ros
|
|
$(call dump, --delete-macro-definitions)
|
|
./$@
|
|
%-cmacro.bin : aaa.ros
|
|
$(call dump, --delete-compiler-macro-definitions)
|
|
./$@
|
|
%-combined.bin : aaa.ros
|
|
$(call dump, --remove-docstrings --delete-debug-info \
|
|
--delete-macro-definitions --delete-compiler-macro-definitions \
|
|
--delete-compiler-information-sbcl \
|
|
--delete-all-packages --destroy-packages-sbcl)
|
|
./$@
|
|
|
|
test:
|
|
for bin in *.bin ; do echo "$$bin $$(./$$bin)" ; done
|
|
|
|
clean:
|
|
rm -f *.bin
|