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 \
9 bin
/domtool-admin bin
/domtool-doc bin
/dbtool bin
/vmail
11 smlnj
: $(COMMON_DEPS
) openssl
/smlnj
/FFI
/libssl.h.cm src
/domtool.cm
13 configDefault
/config.sig
: src
/config.sig.header \
14 configDefault
/*.csg configDefault
/*.cfs \
16 cat configDefault
/*.csg \
17 src
/config.sig.header \
19 src
/config.sig.footer \
20 >configDefault
/config.sig
22 configDefault
/configDefault.sml
: src
/configDefault.sml.header \
23 configDefault
/*.cfg src
/configDefault.sml.footer
24 cat src
/configDefault.sml.header \
26 src
/configDefault.sml.footer \
27 >configDefault
/configDefault.sml
29 openssl
/openssl_sml.o
: openssl
/openssl_sml.c
30 gcc
-fPIC
-c openssl
/openssl_sml.c
-o openssl
/openssl_sml.o
32 openssl
/openssl_sml.so
: openssl
/openssl_sml.o
33 gcc
-shared
-Wl
,-soname
,openssl_sml.so \
34 -o openssl
/openssl_sml.so \
35 openssl
/openssl_sml.o
-lssl
37 src
/domtool.cm
: src
/prefix.cm src
/sources
38 cat src
/prefix.cm src
/sources
>src
/domtool.cm
40 MAKE_MLB_BASE
:= 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/'
44 src
/domtool-server.mlb
: src
/prefix.mlb src
/sources src
/suffix.mlb
45 $(MAKE_MLB_BASE
) >src
/domtool-server.mlb
46 echo
"main-server.sml" >>src
/domtool-server.mlb
48 src
/domtool-client.mlb
: src
/prefix.mlb src
/sources src
/suffix.mlb
49 $(MAKE_MLB_BASE
) >src
/domtool-client.mlb
50 echo
"main-client.sml" >>src
/domtool-client.mlb
52 src
/domtool-slave.mlb
: src
/prefix.mlb src
/sources src
/suffix.mlb
53 $(MAKE_MLB_BASE
) >src
/domtool-slave.mlb
54 echo
"main-slave.sml" >>src
/domtool-slave.mlb
56 src
/domtool-admin.mlb
: src
/prefix.mlb src
/sources src
/suffix.mlb
57 $(MAKE_MLB_BASE
) >src
/domtool-admin.mlb
58 echo
"main-admin.sml" >>src
/domtool-admin.mlb
60 src
/domtool-doc.mlb
: src
/prefix.mlb src
/sources src
/suffix.mlb
61 $(MAKE_MLB_BASE
) >src
/domtool-doc.mlb
62 echo
"main-doc.sml" >>src
/domtool-doc.mlb
64 src
/dbtool.mlb
: src
/prefix.mlb src
/sources src
/suffix.mlb
65 $(MAKE_MLB_BASE
) >src
/dbtool.mlb
66 echo
"main-dbtool.sml" >>src
/dbtool.mlb
68 src
/vmail.mlb
: src
/prefix.mlb src
/sources src
/suffix.mlb
69 $(MAKE_MLB_BASE
) >src
/vmail.mlb
70 echo
"main-vmail.sml" >>src
/vmail.mlb
72 openssl
/smlnj
/FFI
/libssl.h.cm
: openssl
/openssl_sml.h
73 cd openssl
/smlnj
; ml-nlffigen
-d FFI
-lh LibsslH.libh
-include ..
/libssl-h.sml \
74 -cm libssl.h.cm
-D__builtin_va_list
="void*" \
77 openssl
/mlton
/FFI
/libssl.h.mlb
: openssl
/openssl_sml.h
78 cd openssl
/mlton
; mlnlffigen
-dir FFI
-libhandle LibsslH.libh
-include ..
/libssl-h.sml \
79 -mlbfile libssl.h.mlb
-cppopt
-D__builtin_va_list
="void*" \
85 %.grm.sig
%.grm.sml
: %.grm
88 COMMON_MLTON_DEPS
:= openssl
/mlton
/FFI
/libssl.h.mlb \
90 src
/domtool.grm.sig src
/domtool.grm.sml \
91 $(COMMON_DEPS
) src
/*.sig src
/*.sml \
92 src
/plugins
/*.sig src
/plugins
/*.sml \
93 src
/mail
/*.sig src
/mail
/*.sml
95 bin
/domtool-server
: $(COMMON_MLTON_DEPS
) src
/domtool-server.mlb
96 mlton
-output bin
/domtool-server
-link-opt
-ldl src
/domtool-server.mlb
98 bin
/domtool-client
: $(COMMON_MLTON_DEPS
) src
/domtool-client.mlb
99 mlton
-output bin
/domtool-client
-link-opt
-ldl src
/domtool-client.mlb
101 bin
/domtool-slave
: $(COMMON_MLTON_DEPS
) src
/domtool-slave.mlb
102 mlton
-output bin
/domtool-slave
-link-opt
-ldl src
/domtool-slave.mlb
104 bin
/domtool-admin
: $(COMMON_MLTON_DEPS
) src
/domtool-admin.mlb
105 mlton
-output bin
/domtool-admin
-link-opt
-ldl src
/domtool-admin.mlb
107 bin
/domtool-doc
: $(COMMON_MLTON_DEPS
) src
/domtool-doc.mlb
108 mlton
-output bin
/domtool-doc
-link-opt
-ldl src
/domtool-doc.mlb
110 bin
/dbtool
: $(COMMON_MLTON_DEPS
) src
/dbtool.mlb
111 mlton
-output bin
/dbtool
-link-opt
-ldl src
/dbtool.mlb
113 bin
/vmail
: $(COMMON_MLTON_DEPS
) src
/vmail.mlb
114 mlton
-output bin
/vmail
-link-opt
-ldl src
/vmail.mlb
117 cp scripts
/domtool-publish
/usr
/local
/sbin
/
118 cp scripts
/domtool-reset-global
/usr
/local
/sbin
/
119 cp scripts
/domtool-reset-local
/usr
/local
/sbin
/
120 cp scripts
/domtool-adduser
/usr
/local
/bin
/
121 cp scripts
/domtool-addcert
/usr
/local
/bin
/
122 cp scripts
/domtool-addacl
/usr
/local
/bin
/
123 cp scripts
/domtool-rmuser
/usr
/local
/bin
/
124 cp openssl
/openssl_sml.so
/usr
/local
/lib
/
125 -cp bin
/domtool-server
/usr
/local
/sbin
/
126 -cp bin
/domtool-slave
/usr
/local
/sbin
/
127 -cp bin
/domtool-client
/usr
/local
/bin
/domtool
128 -cp bin
/domtool-admin
/usr
/local
/bin
/
129 -cp bin
/domtool-doc
/usr
/local
/bin
/
130 -cp bin
/dbtool
/usr
/local
/bin
/
131 -cp bin
/vmail
/usr
/local
/bin
/
132 cp src
/plugins
/domtool-postgres
/usr
/local
/sbin
/
133 cp src
/plugins
/domtool-mysql
/usr
/local
/sbin
/
138 rsync
--delete
/afs
/hcoop.net
/common
/etc
/domtool
/lib
/* lib
/