(file) Return to Makefile CVS log (file) (dir) Up to [venge] / src / mkc

File: [venge] / src / mkc / Makefile (download)
Revision: 1.6, Mon Apr 29 05:37:16 2002 UTC (8 years, 4 months ago) by graydon
Branch: MAIN
Changes since 1.5: +2 -2 lines
too tired to compose useful message


INC := -I $(shell camlp4o -where) -I . -I frontc/ 
FE := camlp4o ./mlex.cmo ./fe.cmo
LIBSHELL := /usr/lib/ocaml/shell
SHELLAR := dllshell.so
TMPS := Makefile-test-out Makefile-test-out.c
TMPS += Makefile-test-tmp Makefile-test-dump.ml Makefile-test.ml
TMPS += clex.ml frontc/clexer.ml frontc/cparser.ml a.out

all: fe.cmo be.cmo

clean:
	rm -f *.c *.cmo *.cmi $(TMPS) frontc/*.cmo frontc/*.cmi mkc-fe mkc 


be.cmo: be.ml clex.cmo cquot.cmo
	ocamlc -pp 'camlp4o ./clex.cmo ./cquot.cmo' -c $(INC) be.ml

fe.cmo: fe.ml mk.cmo mlex.cmo 
	ocamlc -pp 'camlp4o q_MLast.cmo pa_extend.cmo' -c $(INC) fe.ml

mkc-fe: mlex.cmo fe.cmo
	mkcamlp4 -o $@ -I . $^ pr_dump.cmo

mkc: mkc-fe driver.ml mlex.cmo fe.cmo be.cmo mk.cmo frontc/frontc.cma 
	ocamlc -I $(LIBSHELL) $(SHELLAR) -o mkc str.cma unix.cma shell.cma driver.ml

test: mkc mkc-fe test.mk
	./mkc -o test test.mk

test.ml: test.mk mkc
	./mkc -m test.mk

test.c: test.mk mkc
	./mkc -c test.mk


# making cquot 

clex.cmo: clex.ml frontc/frontc.cma
	ocamlc -c clex.ml

cquot.cmo: cquot.ml clex.cmo frontc/frontc.cma
	ocamlc -pp 'camlp4o q_MLast.cmo pa_extend.cmo' -c $(INC) cquot.ml

# making frontc 

FC_ML:=frontc/cabs.ml frontc/cprint.ml frontc/frontc.ml frontc/rewrite.ml
FC_MLI:=frontc/cabs.mli frontc/cparser.mli frontc/cprint.mli frontc/frontc.mli
FC_CMO:=$(FC_ML:.ml=.cmo)
FC_CMI:=$(FC_MLI:.mli=.cmi)

frontc/cparser.cmo: frontc/cabs.cmi frontc/clexer.cmi
frontc/clexer.cmo: frontc/cabs.cmi frontc/cparser.cmi
frontc/cprint.cmi : frontc/cabs.cmi
$(FC_CMO) : $(FC_CMI) frontc/clexer.cmo frontc/cparser.cmo

frontc/frontc.cma: $(FC_CMO) 
	ocamlc -a -o $@ $^

# basic pattern rules

%.ml: %.mly
	ocamlyacc $<

%.ml: %.mll
	ocamllex $<

%.cmi: %.mli
	ocamlc -c $(INC) $<

%.cmo: %.ml
	ocamlc -c $(INC) $<

# presentation rules

P=ols-lang-eng

.PHONY: present present-end

present-end: $P.mgp
	mgp -x vflib -t 120 $P.mgp -p 42

present: $P.mgp
	mgp -x vflib -t 120 $P.mgp

$P.ps: $P.mgp
	mgp2ps -t -p letter $P.mgp >$P.ps

graydon hoare
Powered by
ViewCVS 0.9.2