| ################################################################ | |
| # Makefile | |
| ################################################################ | |
| PLCAFE = plcafe | |
| PLCAFEOPTS = | |
| PLJAR = pljar | |
| PLJAROPTS = -v | |
| SICSTUS = /usr/local/bin/sicstus | |
| SICSTUSOPTS = | |
| SWI = /opt/local/bin/swipl | |
| SWIOPTS = -L100m | |
| ################################################################ | |
| .SUFFIXES: | |
| .SUFFIXES: .ql .qlf .jar .pl .sicstus .swi .plcafe .in $(SUFFIXES) | |
| plcafe: comp_plcafe run_plcafe | |
| sicstus: comp_sicstus run_sicstus | |
| swi: comp_swi run_swi | |
| all: comp run | |
| ################################################################ | |
| # run | |
| ################################################################ | |
| plcafe_out_objects := $(patsubst %.in,%.plcafe, $(wildcard *.in)) | |
| sicstus_out_objects := $(patsubst %.in,%.sicstus,$(wildcard *.in)) | |
| swi_out_objects := $(patsubst %.in,%.swi, $(wildcard *.in)) | |
| .in.plcafe: | |
| -rm -f out/$@ | |
| /bin/echo "['$<'], halt." \ | |
| | $(PLCAFE) $(PLCAFEOPTS) -cp $*.jar:bench_util.jar > out/$@ | |
| .in.sicstus: | |
| -rm -f out/$@ | |
| /bin/echo "ensure_loaded($*), ensure_loaded(bench_util), ['$<'], halt." \ | |
| | $(SICSTUS) $(SICSTUSOPTS) > out/$@ | |
| .in.swi: | |
| -rm -f out/$@ | |
| /bin/echo "ensure_loaded($*), ensure_loaded(bench_util), ['$<'], halt." \ | |
| | $(SWI) $(SWIOPTS) > out/$@ | |
| run: run_plcafe run_sicstus run_swi | |
| run_plcafe: $(plcafe_out_objects) | |
| run_sicstus: $(sicstus_out_objects) | |
| run_swi: $(swi_out_objects) | |
| ################################################################ | |
| # compile | |
| ################################################################ | |
| jar_objects := $(patsubst %.pl,%.jar,$(wildcard *.pl)) | |
| ql_objects := $(patsubst %.pl,%.ql, $(wildcard *.pl)) | |
| qlf_objects := $(patsubst %.pl,%.qlf,$(wildcard *.pl)) | |
| .pl.jar: | |
| $(PLJAR) $(PLJAROPTS) $@ $< | |
| -rm -f -r $* | |
| .pl.ql: | |
| /bin/echo "[$*], fcompile($*), halt." | $(SICSTUS) $(SICSTUSOPTS) | |
| .pl.qlf: | |
| /bin/echo "qcompile($*), halt." | $(SWI) $(SWIOPTS) | |
| # /bin/echo "[$*], qcompile($*), halt." | $(SWI) $(SWIOPTS) | |
| comp: comp_plcafe comp_sicstus comp_swi | |
| comp_plcafe: $(jar_objects) | |
| comp_sicstus: $(ql_objects) | |
| comp_swi: $(qlf_objects) | |
| ################################################################ | |
| # clean up | |
| ################################################################ | |
| clean: | |
| -rm -f core *~ | |
| -rm -f /out/core out/*~ | |
| -rm -f *.ql | |
| -rm -f *.qlf | |
| realclean: clean | |
| -rm -f *.jar *.class | |
| -rm -f out/*.plcafe out/*.sicstus out/*.swi | |
| # END | |