NAME=fixml CHICKENDIR=chicken VPATH=../mechanism CSC=csc # FIXME: try to use -hygienic once it works with foreign code. # CSCFLAGS=-keyword-style suffix -extend extend.scm -optimize-level 2 -debug-level 0 # -unsafe # -no-winding-callcc CSCFLAGS=-check-imports -lambda-lift -feature use-vector+assoc-as-frame -keyword-style suffix -extend extend.scm -extend ../mechanism/notation/Lalr/lalr.scm # -debug 2c # -block -profile -hygienic -debug 1 #CCFLAGS=-Wall -Wno-unused -O3 -fomit-frame-pointer # -fstrict-aliasing CCFLAGS=-g #LNFLAGS=`chicken-config -cflags -unsafe -libs` #LNFLAGS=`chicken-config -cflags -libs` .SUFFIXES: .scm #.c.o: # gcc $(CCFLAGS) -c $< .scm.o: $(CSC) -c $< $(CSCFLAGS) -o $@ -emit-exports $<.exports all: all: make $(NAME) .chicken-setup: sudo chicken-setup format touch .chicken-setup MACROFILES=extend.scm ../mechanism/place-macros.scm environments.o: environments.scm dns.o: $(MACROFILES) dns.scm ../mechanism/protocol/dns.scm \ # util-chicken.o openssl.o: openssl.scm lalr.o: $(MACROFILES) lalr.scm ../mechanism/notation/Lalr/lalr.scm libmagic.o: libmagic.scm csc -o libmagic.o -X easyffi -c $< -emit-exports $<.exports sqlite3.o: $(MACROFILES) sqlite3.scm sslsocket.o: $(MACROFILES) sslsocket.scm \ # util-chicken.o util-chicken.o: $(MACROFILES) util-chicken.scm \ ../mechanism/util.scm ../mechanism/srfi/strings.scm \ # srfi19.o openssl.o srfi19.o: $(MACROFILES) srfi19.scm ../mechanism/srfi/srfi19.scm vector-lib.o: vector-lib.scm srfi-49.o: srfi-49.scm ../mechanism/srfi/srfi-49.scm timeout.o: $(MACROFILES) timeout.scm tree.o: $(MACROFILES) tree.scm ../mechanism/tree.scm \ # srfi-49.o notation.o: $(MACROFILES) notation.scm ssax-chicken.scm htmlprag.scm \ ../mechanism/notation/xml/render.scm ../mechanism/notation/rfc1421.scm \ ../mechanism/notation/xpath.scm ../mechanism/notation/mime.scm \ # openssl.o vector-lib.o memoize.o util-chicken.o function.o: $(MACROFILES) function.scm \ ../mechanism/function/scheme.scm interp.scm scheme-chicken.scm \ ../mechanism/function/wttree.scm \ ../mechanism/function/xsql.scm ../mechanism/function/xslt.scm \ # openssl.o util-chicken.o srfi19.o timeout.o srfi-49.o memoize.o timeout.o tree.o notation.o sqlite3.o place.o: $(MACROFILES) place.scm ../mechanism/storage-api.scm \ ../mechanism/quorum.scm ../mechanism/place.scm ../mechanism/nunu.scm \ ../mechanism/webdav.scm \ ../mechanism/methods.scm \ ../mechanism/icallyou.scm ../mechanism/gatekeeper.scm \ ../mechanism/storage-api.scm \ # protection.o function.o environments.o protocol.o: $(MACROFILES) protocol.scm \ ../mechanism/protocol/util.scm ../mechanism/protocol/smtp/client.scm \ ../mechanism/protocol/smtp/lmtp.scm ../mechanism/protocol/http/client.scm \ ../mechanism/protocol/http/rfc2616.scm ../mechanism/protocol/http/webdav.scm \ ../mechanism/protocol/http/rfc2518.scm ../mechanism/protocol/http/webdav.scm \ ../mechanism/protocol/http/server.scm \ # place.o libmagic.o dns.o sslsocket.o storage.o: $(MACROFILES) storage.scm \ ../mechanism/storage/fsm.scm \ # notation.o place.o protocol.o step.o: $(MACROFILES) step.scm ../policy/step.scm ../policy/webdav.scm # \ # protocol.o nu.o: $(MACROFILES) nu.scm ../policy/nu.scm ../policy/cgi.scm \ ../policy/trstcrcl.scm ../policy/bopcntrl.scm \ # step.o storage.o dns.o main-chicken.o: $(MACROFILES) main-chicken.scm ../mechanism/main.scm \ # nu.o tt: util-chicken.o srfi19.o srfi-49.o tree.o tt.scm csc $^ $(LNFLAGS) -lcrypto -lmysqlclient -lpq -lssl -lcrypto -lkrb5 -lmagic -lsqlite3 -lssl -o $@ ./tt $(NAME): dns.o srfi19.o vector-lib.o lalr.o srfi-49.o openssl.o sslsocket.o\ libmagic.o util-chicken.o mysql.o sqlite3.o environments.o \ protection.o memoize.o timeout.o tree.o notation.o function.o \ place.o protocol.o storage.o step.o nu.o main-chicken.o csc $(CSCFLAGS) $^ $(LNFLAGS) -lcrypto -lmysqlclient -lpq -lssl -lcrypto -lkrb5 -lmagic -lsqlite3 -lssl -o $@ clean: rm *.c $(NAME) force: help: # help at exported targets address@hidden "^[-A-Za-z0-9\._]+::?.*#" [Mm]akefile xpathtest: xpathtest.o tree.o gcc $^ `chicken-config -cflags -extra-libs -libs` -o $@