# /*-----------------------------------------------------------------------*/ # /* WAMCC INRIA Rocquencourt - CLoE Project */ # /* Daniel Diaz */ # /* */ # /* Makefile (local compilation) */ # /*-----------------------------------------------------------------------*/ # the following variables are given by ../Makefile at installation time COMPILER = wamcc INCPATH = `pwd` LIBPATH = `pwd` CC ?= gcc WCC = w_$(CC) # other local variables #CFLAGS = -O2 CFLAGINLIN= -finline-functions LFLAGS = BMF = bmf_$(COMPILER) OBJLIB = machine.o wam_engine.o atom_pred.o debugger.o hash.o malloc.o\ builtin.o OBJLIBPP = machine.o wam_engine_pp.o atom_pred.o debugger.o hash.o malloc.o\ builtin.o EXECS = configure $(WCC) $(COMPILER) $(BMF) hex2pl pl2hex all: $(WCC) lib$(COMPILER).a lib$(COMPILER)_pp.a $(BMF) hex2pl pl2hex $(COMPILER) lib$(COMPILER).a: $(OBJLIB) -rm lib$(COMPILER).a ar rc lib$(COMPILER).a $(OBJLIB) ranlib lib$(COMPILER).a lib$(COMPILER)_pp.a: $(OBJLIBPP) -rm lib$(COMPILER)_pp.a ar rc lib$(COMPILER)_pp.a $(OBJLIBPP) ranlib lib$(COMPILER)_pp.a # objects machine.o: machine.h archi.h wam_engine.h machine.c ./$(WCC) $(CFLAGS) -c machine.c wam_engine.o: machine.h archi.h wam_engine.h atom_pred.h wam_engine.c ./$(WCC) $(CFLAGS) -c wam_engine.c wam_engine_pp.o: machine.h archi.h wam_engine.h atom_pred.h wam_engine.c ./$(WCC) $(CFLAGS) -DWAM_PROFILE -c -o wam_engine_pp.o wam_engine.c atom_pred.o: machine.h archi.h wam_engine.h atom_pred.h atom_pred.c ./$(WCC) $(CFLAGS) -c atom_pred.c debugger.o: machine.h archi.h wam_engine.h atom_pred.h debugger.c ./$(WCC) $(CFLAGS) -c debugger.c hash.o: machine.h hash.c ./$(WCC) $(CFLAGS) -c hash.c # execs configure: configure.c machine.h ../Makefile $(CC) $(CFLAGS) $(LFLAGS) -DCOMPILER='"'$(COMPILER)'"' \ -DCC='"'$(CC)'"' -DWCC='"'$(WCC)'"' \ -DINCPATH='"'$(INCPATH)'"' -DLIBPATH='"'$(LIBPATH)'"' \ -o configure configure.c $(WCC): configure archi.def ./configure chmod a+x $(WCC) $(BMF): bmf.c $(CC) $(CFLAGS) $(LFLAGS) \ -DCOMPILER='"'$(COMPILER)'"' -DWCC='"'$(WCC)'"' \ -o $(BMF) bmf.c hex2pl: hex2pl.c $(CC) $(CFLAGS) $(LFLAGS) -o hex2pl hex2pl.c pl2hex: pl2hex.c $(CC) $(CFLAGS) $(LFLAGS) -o pl2hex pl2hex.c $(COMPILER): ./$(WCC) $(CFLAGS) -c wamcc*.c ./$(WCC) $(CFLAGS) $(LFLAGS) -s -o $(COMPILER) wamcc*.o -l$(COMPILER) sics_comp: { echo "[b], c, asserta((compiler_name($(COMPILER)):-!)). "; \ echo "save('s_$(COMPILER)'), go. "; \ } | sicstus_native # clean clean: -rm *.o -rm *.a -rm $(EXECS)