adamc@1141
|
1 ACLOCAL_AMFLAGS = -I m4
|
adamc@1141
|
2
|
adamc@378
|
3 BIN := @BIN@
|
adamc@378
|
4 LIB := @LIB@
|
adamc@378
|
5 INCLUDE := @INCLUDE@
|
adamc@378
|
6 SITELISP := @SITELISP@
|
adam@1520
|
7 VERSION := @VERSION@
|
adamc@378
|
8
|
adamc@378
|
9 LIB_UR := $(LIB)/ur
|
adamc@378
|
10 LIB_C := $(LIB)/c
|
adamc@1095
|
11 LIB_JS := $(LIB)/js
|
adamc@1095
|
12
|
adamc@1132
|
13 all-local: smlnj mlton
|
adamc@378
|
14
|
adamc@1132
|
15 SUBDIRS = src/c
|
adamc@378
|
16
|
adamc@1133
|
17 .PHONY: smlnj mlton package reauto
|
adamc@378
|
18
|
adamc@378
|
19 smlnj: src/urweb.cm
|
adamc@378
|
20 mlton: bin/urweb
|
adamc@855
|
21
|
adamc@1132
|
22 clean-local:
|
adamc@378
|
23 rm -f src/*.mlton.grm.* src/*.mlton.lex.* \
|
adamc@1132
|
24 src/urweb.cm src/urweb.mlb
|
adamc@378
|
25 rm -rf .cm src/.cm
|
adamc@378
|
26
|
adamc@378
|
27 src/urweb.cm: src/prefix.cm src/sources
|
adamc@378
|
28 cat src/prefix.cm src/sources \
|
adamc@378
|
29 >src/urweb.cm
|
adamc@378
|
30
|
adamc@378
|
31 src/urweb.mlb: src/prefix.mlb src/sources src/suffix.mlb
|
adamc@378
|
32 cat src/prefix.mlb src/sources src/suffix.mlb \
|
adamc@1159
|
33 | sed -e 's/^\(.*\).grm$$/\1.mlton.grm.sig:\1.mlton.grm.sml/' -e 'y/:/\n/' \
|
adamc@1159
|
34 -e 's/^\(.*\).lex$$/\1.mlton.lex.sml/' \
|
adamc@791
|
35 >$@
|
adamc@378
|
36
|
adamc@1154
|
37 src/urweb.mlton.lex: src/urweb.lex
|
adamc@378
|
38 cp $< $@
|
adamc@1154
|
39 src/urweb.mlton.grm: src/urweb.grm
|
adamc@378
|
40 cp $< $@
|
adamc@378
|
41
|
adamc@1154
|
42 src/urweb.mlton.lex.sml: src/urweb.mlton.lex
|
adamc@378
|
43 mllex $<
|
adamc@378
|
44
|
adamc@1154
|
45 src/urweb.mlton.grm.sig src/urweb.mlton.grm.sml: src/urweb.mlton.grm
|
adamc@378
|
46 mlyacc $<
|
adamc@378
|
47
|
adamc@378
|
48 MLTON := mlton
|
adamc@378
|
49
|
adamc@1132
|
50 #ifdef DEBUG
|
adamc@1132
|
51 # MLTON += -const 'Exn.keepHistory true'
|
adamc@1132
|
52 #endif
|
adamc@378
|
53
|
adamc@1132
|
54 #ifdef PROFILE
|
adamc@1132
|
55 # MLTON += -profile $(PROFILE)
|
adamc@1132
|
56 #endif
|
adamc@507
|
57
|
adamc@791
|
58 bin/urweb: src/compiler.mlb src/urweb.mlb src/*.sig src/*.sml \
|
adamc@378
|
59 src/urweb.mlton.lex.sml \
|
adamc@378
|
60 src/urweb.mlton.grm.sig src/urweb.mlton.grm.sml
|
adamc@791
|
61 $(MLTON) -output $@ src/compiler.mlb
|
adamc@378
|
62
|
adam@1441
|
63 install-exec-emacs:
|
adam@1441
|
64 if USE_EMACS
|
adam@1441
|
65 mkdir -p $(DESTDIR)$(SITELISP)
|
adam@1441
|
66 cp src/elisp/*.el $(DESTDIR)$(SITELISP)/
|
adam@1441
|
67 endif
|
adam@1441
|
68
|
adam@1441
|
69 install-exec-local-main:
|
adam@1440
|
70 mkdir -p $(DESTDIR)$(BIN)
|
adam@1440
|
71 cp bin/urweb $(DESTDIR)$(BIN)/
|
adam@1440
|
72 mkdir -p $(DESTDIR)$(LIB_UR)
|
adam@1440
|
73 cp lib/ur/*.urs $(DESTDIR)$(LIB_UR)/
|
adam@1440
|
74 cp lib/ur/*.ur $(DESTDIR)$(LIB_UR)/
|
adam@1440
|
75 mkdir -p $(DESTDIR)$(LIB_JS)
|
adam@1440
|
76 cp lib/js/*.js $(DESTDIR)$(LIB_JS)/
|
adam@1440
|
77 mkdir -p $(DESTDIR)$(INCLUDE)
|
adam@1440
|
78 cp config.h $(DESTDIR)$(INCLUDE)/
|
adam@1440
|
79 cp include/*.h $(DESTDIR)$(INCLUDE)/
|
adam@1441
|
80
|
adam@1441
|
81 install-exec-local: install-exec-local-main install-exec-emacs
|
adamc@1134
|
82 -ldconfig
|
adamc@427
|
83
|
adam@1441
|
84 uninstall-emacs:
|
adam@1441
|
85 if USE_EMACS
|
adam@1441
|
86 rm -f $(DESTDIR)$(SITELISP)/urweb-compat.el $(DESTDIR)$(SITELISP)/urweb-mode.el $(DESTDIR)$(SITELISP)/urweb-move.el \
|
adam@1441
|
87 $(DESTDIR)$(SITELISP)/urweb-defs.el $(DESTDIR)$(SITELISP)/urweb-mode-startup.el $(DESTDIR)$(SITELISP)/urweb-util.el
|
adam@1441
|
88 endif
|
adam@1441
|
89
|
adam@1441
|
90 uninstall-local-main:
|
adam@1440
|
91 rm -f $(DESTDIR)$(BIN)/urweb \
|
adam@1440
|
92 $(DESTDIR)$(LIB_UR)/basis.urs $(DESTDIR)$(LIB_UR)/char.urs $(DESTDIR)$(LIB_UR)/listPair.urs $(DESTDIR)$(LIB_UR)/list.urs \
|
adam@1440
|
93 $(DESTDIR)$(LIB_UR)/monad.urs $(DESTDIR)$(LIB_UR)/option.urs $(DESTDIR)$(LIB_UR)/string.urs $(DESTDIR)$(LIB_UR)/top.urs \
|
adam@1440
|
94 $(DESTDIR)$(LIB_UR)/char.ur $(DESTDIR)$(LIB_UR)/listPair.ur $(DESTDIR)$(LIB_UR)/list.ur \
|
adam@1440
|
95 $(DESTDIR)$(LIB_UR)/monad.ur $(DESTDIR)$(LIB_UR)/option.ur $(DESTDIR)$(LIB_UR)/string.ur $(DESTDIR)$(LIB_UR)/top.ur \
|
adam@1440
|
96 $(DESTDIR)$(LIB_JS)/urweb.js \
|
adam@1440
|
97 $(DESTDIR)$(INCLUDE)/config.h $(DESTDIR)$(INCLUDE)/queue.h $(DESTDIR)$(INCLUDE)/request.h $(DESTDIR)$(INCLUDE)/types.h \
|
adam@1441
|
98 $(DESTDIR)$(INCLUDE)/urweb.h
|
adam@1441
|
99
|
adam@1441
|
100 uninstall-local: uninstall-local-main uninstall-emacs
|
adam@1399
|
101
|
adamc@427
|
102 package:
|
adam@1520
|
103 hg archive -t tgz -X tests "/tmp/urweb-$(VERSION).tgz"
|
adamc@1132
|
104
|
adamc@1133
|
105 reauto:
|
adamc@1135
|
106 -autoreconf
|
adamc@1133
|
107 libtoolize -cf
|
adamc@1133
|
108 automake --add-missing --force-missing --copy
|
adamc@1133
|
109 autoreconf
|