CC=gcc # you can change the next 2 definition #RAIZ=$$HOME #RAIZ=/home/jj RAIZ=/usr/local LXMETOO=../xmetoo-src/libxmetoo.a LOCALLIB=$(RAIZ)/lib # LOCALINC=$(RAIZ)/include #T= -ltermcap T= -lncurses ROOT=.. BIN=$(ROOT)/bin LIB=$(ROOT)/lib INC=$(ROOT)/include LOCAL=/usr/local OUTRAS= vcamila.bat vcamila version pp.pl EXECUT= seca camila camilax pretty SCRIPT= ntags secax interface jjpretty cam2man BINS = $(EXECUT) $(SCRIPT) LIBS = libcamila.a INCS= io.met sh.met nyag.hlp camila.hlp iosh.SAV camilarc INCLUDE=`pwd` # LDFLAGS=-ldl -export-dynamic LDFLAGS=-ldl CAMILAFILES= io.n sh.n #camilarc INCLUDEFILES= io.met sh.met nyag.hlp camila.hlp iosh.SAV camilarc SOURCEFILES= seca.ini seca.y sexp.c seca.l sexp.h formata.c iformata.c secatipo.c \ met.h makefile what: @ echo " make what? " ;\ echo " make install - instala o camila " ;\ echo " make camila.tgz - para intercambio " ;\ echo " make camila - versao interactiva" ;\ echo " make camilax - versao nao interactiva" ;\ echo " make seca - cria o tradutor camila-xmetoo" ;\ echo " make pretty - (igual ao cam2tex) cria o pretty-print camila-latex" ;\ echo " make cam2tex - cria o pretty-print camila-latex" ;\ echo " make cam2tex-install - instala pretty-print camila-latex" ;\ echo " make cam2tex-tgz - cria um pacote para distribuicao do cam2tex"; \ echo " make jjinstala - instalacao local em ~/bin " ;\ echo " make relat.ps - relatorio " ;\ echo " make dos - versao MSdos " camila-unix: seca pretty camila camilax fseca.o camila-linux: seca pretty camila camilax fseca.o inst: $(BINS) $(LIBS) $(INCS) fseca.o cp $(BINS) $(BIN)/ cd $(BIN)/ ; chmod 755 $(SCRIPT) cp $(LIBS) $(LIB)/ cp $(INCS) $(INC)/ install : $(INCLUDEFILES) $(EXECUT) $(SCRIPT) metoorc make inst ROOT=$(LOCAL) install-home : $(INCLUDEFILES) $(EXECUT) $(SCRIPT) metoorc make inst ROOT=$$HOME cp metoorc $$HOME/.metoorc CAMILAVER = CAMILA-`awk 'END {print NR}' nyag.ver` camila.tgz : $(INCLUDEFILES) $(SOURCEFILES) $(OUTRAS) @ rm -rf $(CAMILAVER) @ mkdir $(CAMILAVER) @ mkdir $(CAMILAVER)/readline @ cp readline/* $(CAMILAVER)/readline @ ln $(SCRIPT) $(INCLUDEFILES) $(SOURCEFILES) $(OUTRAS) $(CAMILAFILES) $(CAMILAVER) tar -cf camila.tar $(CAMILAVER) gzip camila.tar mv camila.tar.gz camila.tgz @ rm -rf $(CAMILAVER) version : $(SOURCEFILES) # co -l version # echo sem comentarios | ci -f version ## ci -f version # co -kv version novaversao : seca date >> nyag.ver sh.met : sh.n seca sh.n | awk '/def _ops/,/-----/ {next} {print}' > sh.met io.met : io.n seca io.n | awk '/def _ops/,/-----/ {next} {print}' > io.met metoorc : camilarc seca camilarc | awk '/def _ops/,/-----/ {next} {print}' | \ sed "s/[ ]* / /g" | sed "/^;/d" | \ sed "s@INCLUDEDIR@$(INCLUDE)@" > metoorc iosh.SAV : io.met sh.met echo '(SAVE "iosh.SAV")' | xmetoo io.met sh.met tseca : tseca.c fseca.o sexp.o $(CC) $(CFLAGS) -o tseca tseca.c fseca.o sexp.o fseca.o : seca.c sexp.c lex.yy.c sexp.h formata.c secatipo.c met.h $(CC) $(CFLAGS) -c -o fseca.o -DFUNC seca.c seca : seca.o sexp.o $(CC) $(CFLAGS) -o seca seca.o sexp.o seca.o : seca.c sexp.c lex.yy.c sexp.h formata.c secatipo.c met.h cam2tex : pretty.o sexp.o $(CC) $(CFLAGS) -o cam2tex pretty.o sexp.o cam2tex-install: cam2tex cam2tex.sty make -f cam2tex.makefile install CAM2TEXSRC=sexp.c sexp.h seca.ini pp.pl cam2tex.sty cam2tex-example.tex met.h seca.l formata.c secatipo.c version CAM2TEXTGZ=cam2tex-`date +%Y%m%d` cam2tex-tgz: $(CAM2TEXSRC) cam2tex.makefile mkdir $(CAM2TEXTGZ) cp $(CAM2TEXSRC) $(CAM2TEXTGZ) cp cam2tex.makefile $(CAM2TEXTGZ)/Makefile # These options are IMPORTANT for Mac OS X COPY_EXTENDED_ATTRIBUTES_DISABLE=1 COPYFILE_DISABLE=1 tar zcvf $(CAM2TEXTGZ).tar.gz $(CAM2TEXTGZ) rm -fr $(CAM2TEXTGZ) pretty : pretty.o sexp.o $(CC) $(CFLAGS) -o pretty pretty.o sexp.o pretty.o : pretty.c sexp.c lex.yy.c sexp.h formata.c secatipo.c met.h camilax.o : seca.c sexp.c lex.yy.c sexp.h iformata.c secatipo.c $(CC) $(CFLAGS) -c -o camilax.o -DINTERACTIVE -DPIPE -I. seca.c camilax : camilax.o sexp.o $(LXMETOO) $(CC) $(CFLAGS) -o camilax -L$(LOCALLIB) camilax.o sexp.o $(LXMETOO) $(LDFLAGS) camila.o : seca.c sexp.c lex.yy.c sexp.h iformata.c secatipo.c version $(CC) $(CFLAGS) -c -o camila.o -DINTERACTIVE -I. seca.c libcamila.a : camila.o sexp.o ar -rv libcamila.a camila.o sexp.o camila : libcamila.a $(LXMETOO) $(CC) $(CFLAGS) -o camila -L$(LOCALLIB) libcamila.a -lreadline \ $(LXMETOO) $T $(LDFLAGS) $(LXMETOO): cd ../xmetoo-src; make libxmetoo.a tags.y : seca.ini perl ./pp.pl -tags seca.ini > tags.y sleep 1 tags: tags.y yacc tags.y mv y.tab.c tags.c $(CC) tags.c -o tags seca.y : seca.ini perl ./pp.pl -nyag seca.ini > seca.y sleep 1 pretty.y : seca.ini perl ./pp.pl -pretty seca.ini > pretty.y sleep 1 seca.c : seca.y yacc seca.y mv y.tab.c seca.c pretty.c : pretty.y yacc pretty.y mv y.tab.c pretty.c lex.yy.c : seca.l flex -l seca.l # flex -I -l seca.l realclean : rm -f *.o lex.yy.c seca.c lex.yyx dosseca.c _tmp* seca camila camilax core seca.y pretty.y a.out pretty.c pretty clean : rm -f *.o lex.yy.c seca.c lex.yyx dosseca.c _tmp* core seca.y pretty.y a.out # CRIACAO DE RELATORIO #relat.ps : relat seca.tex # prelatex relat relat.tex # latex relat # dvi relat.dvi # Criacao de ficheiro com documentacao do projecto #seca.tex : seca #seca.tex : apendice com listagens # @ echo "\begin{verbatim}\n" > seca.tex # @ cat seca.y >> seca.tex #copia o parser seca.y # @ echo "\end{verbatim}\n" >> seca.tex # @ echo \\\\newpage >> seca.tex # @ echo "\begin{verbatim}\n" >> seca.tex # @ cat seca.l >> seca.tex #copia o analisador lexico # @ echo "\end{verbatim}\n" >> seca.tex