# "makefile" para compilar o interpretador XMETOO # # Para a executar fazer: # $ make # Como resultado e criado o ficheiro executavel "xmetoo" # # Para obter a configuracao desejada, definir os simbolos: # LAZY=-DLAZY # COMM=-DCOMM (apenas em UNIX) # USERTYPE=-DUSERTYPE # DLL=-DDLL # PIPE=-DPIPE para p2open (unix) # DOS=XM95 para windows 95 e NT com visual C++ CC=gcc LAZY= COMM=-DCOMM USERTYPE=-DUSERTYPE DLL=-DDLL LINUX=-DLINUX PIPE=-DPIPE DOS= #DOS=XM95 LDLL=-ldl #DEC: OUTRAS=-lc_r (por causa do rand_r) RANLIB=ranlib ROOT=.. BIN=$(ROOT)/bin LIB=$(ROOT)/lib INC=$(ROOT)/include LOCAL= /usr/local SCRIPT = any2sexp BINS = xmetoo xmsession $(SCRIPT) LIBS = libxmetoo.a INCS = xmc.h OBJECTS= xmetoo1.o xmetoo2.o xmdmem.o xmread.o xmmsg.o xmeval.o xmprint.o \ xmsave.o xmdef.o xmutype.o xmxlisp.o xmfio.o xmstr.o xmint.o \ xmset.o xmlist.o xmrel.o xmff.o xmbool.o xmbind.o xmc.o xmuserinit.o \ xmdlload.o xmsession.o xmunderground.o xmpipe.o xmsexp2any.o SOURCES= xmetoo1.c xmetoo2.c xmdmem.c xmread.c xmmsg.c xmeval.c xmprint.c \ xmsave.c xmdef.c xmutype.c xmxlisp.c xmfio.c xmstr.c xmint.c \ xmset.c xmlist.c xmrel.c xmff.c xmbool.c xmbind.c xmc.c xmuserinit.c \ xmdlload.c xmetoo.h xmc.h xmsession.c xmsession.h xmunderground.c \ xmunderground.cam xmunderground.h xmunderground.met xmpipe.c xmsexp2any.c DOCUM= makefile xmetoo.tex xmetoo.doc version RCS \ mkunderground.pl any2sexp test* #LDFLAGS= $(LDLL) $(OUTRAS) -export-dynamic LDFLAGS= $(LDLL) $(OUTRAS) CFLAGS = $(LAZY) $(COMM) $(USERTYPE) $(DLL) $(DOS) $(LINUX) $(PIPE) all: xmetoo xmsession xmetoo : libxmetoo.a $(CC) $(CFLAGS) -o xmetoo libxmetoo.a $(LDFLAGS) version : $(SOURCES) # co -l version # echo sem comentarios | ci -f version # co -kv version xmsession: xmsession.c gcc $(CFLAGS) -D__test_xmsession xmsession.c -o xmsession inst: $(BINS) $(LIBS) $(INCS) cp $(BINS) $(BIN)/ cd $(BIN)/; chmod 755 $(SCRIPT) cp $(LIBS) $(LIB)/ cp $(INCS) $(INC)/ install: xmetoo libxmetoo.a make inst ROOT=$(LOCAL) install-home: xmetoo xmsession make inst ROOT=$$HOME $(OBJECTS) : xmetoo.h xmetoo1.o xmetoo2.o : version xmmsg.o : xmmsg.c xmsession.h xmc.h xmsession.o : xmsession.c xmsession.h gcc $(CFLAGS) -c xmsession.c xmunderground.o : xmunderground.c xmunderground.h xmunderground.met : xmunderground.cam seca xmunderground.cam xmunderground.met xmunderground.h : xmunderground.met mkunderground.pl xmunderground.met> xmunderground.h xmetoo.tgz : $(SOURCES) $(DOCUM) mkdir XMETOO ln $(SOURCES) $(DOCUM) XMETOO gtar -czvf xmetoo.tgz XMETOO rm -rf XMETOO deb : $(SOURCES) lint $(SOURCES) | more tags : $(SOURCES) ctags $(SOURCES) doc : $(SOURCES) makedoc $(SOURCES) > doc clean : rm -f *.o core a.out _* realclean : rm -f *.o libxmetoo.a xmetoo xmsession core a.out _* libxmetoo.a: $(OBJECTS) ar rv libxmetoo.a $(OBJECTS) $(RANLIB) libxmetoo.a userinit : jjpipe.o libxmetoo.a $(CC) -o userinit jjpipe.c libxmetoo.a $(LDFLAGS) -lgen xmetoo.so: libxmetoo.a cc -o xmetoo.so libxmetoo.a