3 COMMON_DEPS
:= configDefault
/config.sig configDefault
/configDefault.sml \
6 .PHONY
: all mlton smlnj
install
8 mlton
: bin
/domtool-server bin
/domtool-client bin
/domtool-slave
10 smlnj
: $(COMMON_DEPS
) openssl
/smlnj
/FFI
/libssl.h.cm src
/domtool.cm
12 configDefault
/config.sig
: src
/config.sig.header \
13 configDefault
/*.csg configDefault
/*.cfs \
15 cat configDefault
/*.csg \
16 src
/config.sig.header \
18 src
/config.sig.footer \
19 >configDefault
/config.sig
21 configDefault
/configDefault.sml
: src
/configDefault.sml.header \
22 configDefault
/*.cfg src
/configDefault.sml.footer
23 cat src
/configDefault.sml.header \
25 src
/configDefault.sml.footer \
26 >configDefault
/configDefault.sml
28 openssl
/openssl_sml.o
: openssl
/openssl_sml.c
29 gcc
-fPIC
-c openssl
/openssl_sml.c
-o openssl
/openssl_sml.o
31 openssl
/openssl_sml.so
: openssl
/openssl_sml.o
32 gcc
-shared
-Wl
,-soname
,openssl_sml.so \
33 -o openssl
/openssl_sml.so \
34 openssl
/openssl_sml.o
-lssl
36 src
/domtool.cm
: Makefile src
/prefix.cm src
/sources
37 cat src
/prefix.cm src
/sources
>src
/domtool.cm
39 src
/domtool-server.mlb
: Makefile src
/prefix.mlb src
/sources src
/suffix.mlb
40 cat src
/prefix.mlb src
/sources src
/suffix.mlb \
41 | sed
's/^\(.*\).grm$$/\1.grm.sig\n\1.grm.sml/' \
42 | sed
's/^\(.*\).lex$$/\1.lex.sml/' >src
/domtool-server.mlb
43 echo
"main-server.sml" >>src
/domtool-server.mlb
45 src
/domtool-client.mlb
: Makefile src
/prefix.mlb src
/sources src
/suffix.mlb
46 cat src
/prefix.mlb src
/sources src
/suffix.mlb \
47 | sed
's/^\(.*\).grm$$/\1.grm.sig\n\1.grm.sml/' \
48 | sed
's/^\(.*\).lex$$/\1.lex.sml/' >src
/domtool-client.mlb
49 echo
"main-client.sml" >>src
/domtool-client.mlb
51 src
/domtool-slave.mlb
: Makefile src
/prefix.mlb src
/sources src
/suffix.mlb
52 cat src
/prefix.mlb src
/sources src
/suffix.mlb \
53 | sed
's/^\(.*\).grm$$/\1.grm.sig\n\1.grm.sml/' \
54 | sed
's/^\(.*\).lex$$/\1.lex.sml/' >src
/domtool-slave.mlb
55 echo
"main-slave.sml" >>src
/domtool-slave.mlb
57 openssl
/smlnj
/FFI
/libssl.h.cm
: openssl
/openssl_sml.h
58 cd openssl
/smlnj
; ml-nlffigen
-d FFI
-lh LibsslH.libh
-include ..
/libssl-h.sml \
59 -cm libssl.h.cm
-D__builtin_va_list
="void*" \
62 openssl
/mlton
/FFI
/libssl.h.mlb
: openssl
/openssl_sml.h
63 cd openssl
/mlton
; mlnlffigen
-dir FFI
-libhandle LibsslH.libh
-include ..
/libssl-h.sml \
64 -mlbfile libssl.h.mlb
-cppopt
-D__builtin_va_list
="void*" \
70 %.grm.sig
%.grm.sml
: %.grm
73 bin
/domtool-server
: openssl
/mlton
/FFI
/libssl.h.mlb \
74 src
/domtool-server.mlb src
/domtool.
lex.sml \
75 src
/domtool.grm.sig src
/domtool.grm.sml \
76 $(COMMON_DEPS
) src
/*.sig src
/*.sml
77 mlton
-output bin
/domtool-server
-link-opt
-ldl src
/domtool-server.mlb
79 bin
/domtool-client
: openssl
/mlton
/FFI
/libssl.h.mlb \
80 src
/domtool-client.mlb src
/domtool.
lex.sml \
81 src
/domtool.grm.sig src
/domtool.grm.sml \
82 $(COMMON_DEPS
) src
/*.sig src
/*.sml
83 mlton
-output bin
/domtool-client
-link-opt
-ldl src
/domtool-client.mlb
85 bin
/domtool-slave
: openssl
/mlton
/FFI
/libssl.h.mlb \
86 src
/domtool-slave.mlb src
/domtool.
lex.sml \
87 src
/domtool.grm.sig src
/domtool.grm.sml \
88 $(COMMON_DEPS
) src
/*.sig src
/*.sml
89 mlton
-output bin
/domtool-slave
-link-opt
-ldl src
/domtool-slave.mlb
92 cp scripts
/domtool-publish
/usr
/local
/sbin
/
93 cp openssl
/openssl_sml.so
/usr
/local
/lib
/
94 cp bin
/domtool-server
/usr
/local
/sbin
/
95 cp bin
/domtool-slave
/usr
/local
/sbin
/
96 cp bin
/domtool-client
/usr
/local
/bin
/domtool