Mercurial > urweb
view Makefile.in @ 1098:c023bc6ab914
Octal and hexidecimal string escapes
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Tue, 29 Dec 2009 12:55:26 -0500 |
parents | bed675db3aff |
children | 72670131dace |
line wrap: on
line source
BIN := @BIN@ LIB := @LIB@ INCLUDE := @INCLUDE@ SITELISP := @SITELISP@ LIB_UR := $(LIB)/ur LIB_C := $(LIB)/c LIB_JS := $(LIB)/js LD_MAJOR := 1 LD_MINOR := 0 all: smlnj mlton c .PHONY: all smlnj mlton c clean install package smlnj: src/urweb.cm mlton: bin/urweb OBJS := memmem urweb request queue http cgi fastcgi SOS := urweb urweb_http urweb_cgi urweb_fastcgi c: $(OBJS:%=lib/c/%.o) $(SOS:%=lib/c/lib%.so.$(LD_MAJOR).$(LD_MINOR)) clean: rm -f src/*.mlton.grm.* src/*.mlton.lex.* \ src/urweb.cm src/urweb.mlb \ lib/c/*.o lib/c/*.so.* rm -rf .cm src/.cm lib/c/%.do: src/c/%.c include/*.h gcc -fPIC -Wimplicit -O3 -I include -c $< -o $@ $(CFLAGS) lib/c/%.o: src/c/%.c include/*.h gcc -Wimplicit -O3 -I include -c $< -o $@ $(CFLAGS) URWEB_OS := memmem urweb queue request lib/c/liburweb.so.$(LD_MAJOR).$(LD_MINOR): $(URWEB_OS:%=lib/c/%.do) gcc -shared -Wl,-soname,liburweb.so.$(LD_MAJOR) -o $@ $^ lib/c/liburweb_%.so.$(LD_MAJOR).$(LD_MINOR): lib/c/%.do gcc -shared -Wl,-soname,liburweb_$*.so.$(LD_MAJOR) -o $@ $^ src/urweb.cm: src/prefix.cm src/sources cat src/prefix.cm src/sources \ >src/urweb.cm src/urweb.mlb: src/prefix.mlb src/sources src/suffix.mlb cat src/prefix.mlb src/sources src/suffix.mlb \ | sed 's/^\(.*\).grm$$/\1.mlton.grm.sig:\1.mlton.grm.sml/; y/:/\n/' \ | sed 's/^\(.*\).lex$$/\1.mlton.lex.sml/' \ >$@ %.mlton.lex: %.lex cp $< $@ %.mlton.grm: %.grm cp $< $@ %.mlton.lex.sml: %.mlton.lex mllex $< %.mlton.grm.sig %.mlton.grm.sml: %.mlton.grm mlyacc $< MLTON := mlton ifdef DEBUG MLTON += -const 'Exn.keepHistory true' endif ifdef PROFILE MLTON += -profile $(PROFILE) endif bin/urweb: src/compiler.mlb src/urweb.mlb src/*.sig src/*.sml \ src/urweb.mlton.lex.sml \ src/urweb.mlton.grm.sig src/urweb.mlton.grm.sml $(MLTON) -output $@ src/compiler.mlb install: mkdir -p $(BIN) cp bin/urweb $(BIN)/ mkdir -p $(LIB_UR) cp lib/ur/*.urs $(LIB_UR)/ cp lib/ur/*.ur $(LIB_UR)/ mkdir -p $(LIB_C) cp lib/c/*.o $(LIB_C)/ cp lib/c/*.so.$(LD_MAJOR).$(LD_MINOR) $(LIB_C)/ mkdir -p $(LIB_JS) cp lib/js/*.js $(LIB_JS)/ mkdir -p $(INCLUDE) cp include/*.h $(INCLUDE)/ mkdir -p $(SITELISP) cp src/elisp/*.el $(SITELISP)/ ldconfig $(LIB_C) ln -sf $(LIB_C)/liburweb.so.$(LD_MAJOR) $(LIB_C)/liburweb.so ln -sf $(LIB_C)/liburweb_http.so.$(LD_MAJOR) $(LIB_C)/liburweb_http.so ln -sf $(LIB_C)/liburweb_cgi.so.$(LD_MAJOR) $(LIB_C)/liburweb_cgi.so ln -sf $(LIB_C)/liburweb_fastcgi.so.$(LD_MAJOR) $(LIB_C)/liburweb_fastcgi.so package: hg archive -t tgz -X tests /tmp/urweb.tgz