| ################################################################ | |
| # Makefile | |
| ################################################################ | |
| # PROLOG - the command of Prolog system | |
| # ::= sicstus | swipl | pl | prolog | ... | |
| # PSYSTEM- the type of Prolog system | |
| # ::= 'SICStus' | 'SWI-Prolog' | 'Others' | |
| PROLOG = sicstus | |
| PSYSTEM = 'SICStus' | |
| # PROLOG = swipl | |
| # PSYSTEM = 'SWI-Prolog' | |
| # PROLOG = prolog | |
| # PSYSTEM = 'Others' | |
| JAVA = java | |
| JAVAC = javac | |
| JAVACOPTS = -d . -J-Xmx100m | |
| JAR = jar | |
| JAROPTS = cf | |
| PWD := $(shell pwd) | |
| ################################################################ | |
| all: plc lang builtin compiler plcafe plj | |
| plc: | |
| (cd src/compiler; $(MAKE) plc \ | |
| PROLOG='$(PROLOG)' PSYSTEM='$(PSYSTEM)') | |
| cp src/compiler/pl2am.plc bin/ | |
| cp src/compiler/am2j.plc bin/ | |
| lang: | |
| (cd src/lang; $(MAKE) lang \ | |
| JAVAC='$(JAVAC)' JAVACOPTS='$(JAVACOPTS)' \ | |
| JAR='$(JAR)' JAROPTS='$(JAROPTS)') | |
| cp src/lang/lang.jar . | |
| builtin: | |
| (cd src/builtin; $(MAKE) builtin \ | |
| JAVAC='$(JAVAC)' JAVACOPTS='$(JAVACOPTS) -classpath $(PWD)/lang.jar' \ | |
| JAR='$(JAR)' JAROPTS='$(JAROPTS)') | |
| cp src/builtin/builtin.jar . | |
| compiler: | |
| (cd src/compiler; $(MAKE) compiler \ | |
| JAVAC='$(JAVAC)' \ | |
| JAVACOPTS='$(JAVACOPTS) -classpath $(PWD)/lang.jar:$(PWD)/builtin.jar' \ | |
| JAR='$(JAR)' JAROPTS='$(JAROPTS)') | |
| cp src/compiler/compiler.jar . | |
| plcafe: | |
| $(JAVAC) $(JAVACOPTS) src/lang/*.java src/builtin/*/*.java \ | |
| src/compiler/pl2am/*.java src/compiler/am2j/*.java src/compiler/Compiler.java | |
| $(JAR) $(JAROPTS) plcafe.jar jp/ac/kobe_u/cs/prolog | |
| plj: | |
| (cd src/compiler; $(MAKE) plj PROLOG='$(JAVA)') | |
| cp src/compiler/pl2am.plj bin/ | |
| cp src/compiler/am2j.plj bin/ | |
| ################################################################ | |
| clean: | |
| (cd src/builtin; $(MAKE) clean) | |
| (cd src/lang; $(MAKE) clean) | |
| (cd src/compiler; $(MAKE) clean) | |
| -rm -f bin/pl2am.plc | |
| -rm -f bin/am2j.plc | |
| -rm -f -r jp | |
| -rm -f core *~ | |
| realclean: clean | |
| (cd src/builtin; $(MAKE) realclean) | |
| (cd src/lang; $(MAKE) realclean) | |
| (cd src/compiler; $(MAKE) realclean) | |
| -rm -f -r doc/javadoc | |
| -rm -f bin/pl2am.plj | |
| -rm -f bin/am2j.plj | |
| -rm -f plcafe.jar | |
| -rm -f compiler.jar | |
| -rm -f builtin.jar | |
| -rm -f lang.jar | |
| ################################################################ | |
| ex: | |
| (cd examples; $(MAKE) all) | |
| ################################################################ | |
| JAVADOC = javadoc | |
| JAVADOCOPTS = -J-Xmx100m \ | |
| -locale en_US -d doc/javadoc -breakiterator \ | |
| -windowtitle $(WINDOWTITLE) -doctitle $(DOCTITLE) \ | |
| -header $(HEADER) -bottom $(BOTTOM) | |
| WINDOWTITLE = 'Prolog Cafe v1.2 API Specification' | |
| DOCTITLE = 'Prolog Cafe v1.2 API Specification' | |
| HEADER = '<b><font color="red">Prolog Cafe v1.2</font></b><br>' | |
| BOTTOM = '<font size="-1"> \ | |
| Copyright (C) 1997-2009 \ | |
| <a href="http://kaminari.istc.kobe-u.ac.jp/banbara.html">M.BANBARA</a> and \ | |
| <a href="http://bach.istc.kobe-u.ac.jp/tamura.html">N.TAMURA</a> \ | |
| </font>' | |
| javadoc: | |
| $(JAVADOC) $(JAVADOCOPTS) src/lang/*.java \ | |
| src/compiler/Compiler.java | |
| ################################################################ | |
| VER = 1.2.5 | |
| DIR = PrologCafe$(VER) | |
| TGZ = PrologCafe$(VER).tgz | |
| ZIP = PrologCafe$(VER).zip | |
| tar: clean | |
| (cd ..; tar cfz $(DIR)/$(TGZ) $(DIR)/*) | |
| zip: clean | |
| (cd ..; zip -r $(DIR)/$(ZIP) $(DIR)/*) | |
| ################################################################ | |
| # END |