1 all: mlton bin
/vmailpasswd elisp
/domtool-tables.el
3 bin
/vmailpasswd
: src
/mail
/vmailpasswd.c
6 COMMON_DEPS
:= configDefault
/config.sig configDefault
/configDefault.sml \
7 openssl
/openssl_sml.so pcre
/pcre_sml.so config.sml
9 EMACS_DIR
:= /usr
/local
/share
/emacs
/site-lisp
/domtool-mode
12 echo
-e
'structure Config :> CONFIG = struct\nopen ConfigDefault\nend' > $@
14 .PHONY
: all mlton smlnj
install install_sos
16 mlton
: bin
/domtool-server bin
/domtool-client bin
/domtool-slave \
17 bin
/domtool-admin bin
/domtool-doc bin
/dbtool bin
/vmail \
18 bin
/smtplog bin
/setsa bin
/mysql-fixperms bin
/webbw bin
/domtool-tail
20 smlnj
: $(COMMON_DEPS
) openssl
/smlnj
/FFI
/libssl.h.cm pcre
/smlnj
/FFI
/libpcre.h.cm \
23 configDefault
/config.sig
: src
/config.sig.header \
24 configDefault
/*.csg configDefault
/*.cfs \
26 cat configDefault
/*.csg \
27 src
/config.sig.header \
29 src
/config.sig.footer \
30 >configDefault
/config.sig
32 configDefault
/configDefault.sml
: src
/configDefault.sml.header \
33 configDefault
/*.cfg src
/configDefault.sml.footer
34 cat src
/configDefault.sml.header \
36 src
/configDefault.sml.footer \
37 >configDefault
/configDefault.sml
39 openssl
/openssl_sml.o
: openssl
/openssl_sml.c
40 gcc
-fPIC
-c openssl
/openssl_sml.c
-o openssl
/openssl_sml.o
42 openssl
/openssl_sml.so
: openssl
/openssl_sml.o
43 gcc
-shared
-Wl
,-soname
,openssl_sml.so \
44 -o openssl
/openssl_sml.so \
45 openssl
/openssl_sml.o
-lssl
47 pcre
/pcre_sml.o
: pcre
/pcre_sml.c
48 gcc
-fPIC
-c pcre
/pcre_sml.c
-o pcre
/pcre_sml.o
50 pcre
/pcre_sml.so
: pcre
/pcre_sml.o
51 gcc
-shared
-Wl
,-soname
,pcre_sml.so \
53 pcre
/pcre_sml.o
-lpcre
55 src
/domtool.cm
: src
/prefix.cm src
/sources
56 cat src
/prefix.cm src
/sources
>src
/domtool.cm
58 MAKE_MLB_BASE
:= cat src
/prefix.mlb src
/sources src
/suffix.mlb \
59 | sed
's/^\(.*\).grm$$/\1.grm.sig\n\1.grm.sml/' \
60 | sed
's/^\(.*\).lex$$/\1.lex.sml/'
62 src
/domtool-server.mlb
: src
/prefix.mlb src
/sources src
/suffix.mlb
63 $(MAKE_MLB_BASE
) >src
/domtool-server.mlb
64 echo
"main-server.sml" >>src
/domtool-server.mlb
66 src
/domtool-client.mlb
: src
/prefix.mlb src
/sources src
/suffix.mlb
67 $(MAKE_MLB_BASE
) >src
/domtool-client.mlb
68 echo
"main-client.sml" >>src
/domtool-client.mlb
70 src
/domtool-slave.mlb
: src
/prefix.mlb src
/sources src
/suffix.mlb
71 $(MAKE_MLB_BASE
) >src
/domtool-slave.mlb
72 echo
"main-slave.sml" >>src
/domtool-slave.mlb
74 src
/domtool-admin.mlb
: src
/prefix.mlb src
/sources src
/suffix.mlb
75 $(MAKE_MLB_BASE
) >src
/domtool-admin.mlb
76 echo
"main-admin.sml" >>src
/domtool-admin.mlb
78 src
/domtool-doc.mlb
: src
/prefix.mlb src
/sources src
/suffix.mlb
79 $(MAKE_MLB_BASE
) >src
/domtool-doc.mlb
80 echo
"main-doc.sml" >>src
/domtool-doc.mlb
82 src
/dbtool.mlb
: src
/prefix.mlb src
/sources src
/suffix.mlb
83 $(MAKE_MLB_BASE
) >src
/dbtool.mlb
84 echo
"main-dbtool.sml" >>src
/dbtool.mlb
86 src
/vmail.mlb
: src
/prefix.mlb src
/sources src
/suffix.mlb
87 $(MAKE_MLB_BASE
) >src
/vmail.mlb
88 echo
"main-vmail.sml" >>src
/vmail.mlb
90 src
/setsa.mlb
: src
/prefix.mlb src
/sources src
/suffix.mlb
91 $(MAKE_MLB_BASE
) >src
/setsa.mlb
92 echo
"main-setsa.sml" >>src
/setsa.mlb
94 src
/smtplog.mlb
: src
/prefix.mlb src
/sources src
/suffix.mlb
95 $(MAKE_MLB_BASE
) >src
/smtplog.mlb
96 echo
"main-smtplog.sml" >>src
/smtplog.mlb
98 src
/mysql-fixperms.mlb
: src
/prefix.mlb src
/sources src
/suffix.mlb
99 $(MAKE_MLB_BASE
) >src
/mysql-fixperms.mlb
100 echo
"main-mysql-fixperms.sml" >>src
/mysql-fixperms.mlb
102 openssl
/smlnj
/FFI
/libssl.h.cm
: openssl
/openssl_sml.h
103 cd openssl
/smlnj
; ml-nlffigen
-d FFI
-lh LibsslH.libh
-include ..
/libssl-h.sml \
104 -cm libssl.h.cm
-D__builtin_va_list
="void*" \
107 openssl
/mlton
/FFI
/libssl.h.mlb
: openssl
/openssl_sml.h
108 cd openssl
/mlton
; mlnlffigen
-dir FFI
-libhandle LibsslH.libh
-include ..
/libssl-h.sml \
109 -mlbfile libssl.h.mlb
-cppopt
-D__builtin_va_list
="void*" \
112 pcre
/smlnj
/FFI
/libpcre.h.cm
: pcre
/pcre_sml.h
113 cd pcre
/smlnj
; ml-nlffigen
-d FFI
-lh LibpcreH.libh
-include ..
/libpcre-h.sml \
114 -cm libpcre.h.cm
-D__builtin_va_list
="void*" \
117 pcre
/mlton
/FFI
/libpcre.h.mlb
: pcre
/pcre_sml.h
118 cd pcre
/mlton
; mlnlffigen
-dir FFI
-libhandle LibpcreH.libh
-include ..
/libpcre-h.sml \
119 -mlbfile libpcre.h.mlb
-cppopt
-D__builtin_va_list
="void*" \
125 %.grm.sig
%.grm.sml
: %.grm
128 COMMON_MLTON_DEPS
:= openssl
/mlton
/FFI
/libssl.h.mlb \
129 pcre
/mlton
/FFI
/libpcre.h.mlb \
130 src
/domtool.
lex.sml \
131 src
/domtool.grm.sig src
/domtool.grm.sml \
132 $(COMMON_DEPS
) src
/*.sig src
/*.sml \
133 src
/plugins
/*.sig src
/plugins
/*.sml \
134 src
/mail
/*.sig src
/mail
/*.sml
136 MLTON
:= mlton
-link-opt
-ldl
139 MLTON
+= -const
'Exn.keepHistory true'
142 bin
/domtool-server
: $(COMMON_MLTON_DEPS
) src
/domtool-server.mlb
143 $(MLTON
) -output bin
/domtool-server src
/domtool-server.mlb
145 bin
/domtool-client
: $(COMMON_MLTON_DEPS
) src
/domtool-client.mlb
146 $(MLTON
) -output bin
/domtool-client src
/domtool-client.mlb
148 bin
/domtool-slave
: $(COMMON_MLTON_DEPS
) src
/domtool-slave.mlb
149 $(MLTON
) -output bin
/domtool-slave src
/domtool-slave.mlb
151 bin
/domtool-admin
: $(COMMON_MLTON_DEPS
) src
/domtool-admin.mlb
152 $(MLTON
) -output bin
/domtool-admin src
/domtool-admin.mlb
154 bin
/domtool-doc
: $(COMMON_MLTON_DEPS
) src
/domtool-doc.mlb
155 $(MLTON
) -output bin
/domtool-doc src
/domtool-doc.mlb
157 bin
/dbtool
: $(COMMON_MLTON_DEPS
) src
/dbtool.mlb
158 $(MLTON
) -output bin
/dbtool src
/dbtool.mlb
160 bin
/vmail
: $(COMMON_MLTON_DEPS
) src
/vmail.mlb
161 $(MLTON
) -output bin
/vmail src
/vmail.mlb
163 bin
/setsa
: $(COMMON_MLTON_DEPS
) src
/setsa.mlb
164 $(MLTON
) -output bin
/setsa src
/setsa.mlb
166 bin
/smtplog
: $(COMMON_MLTON_DEPS
) src
/smtplog.mlb
167 $(MLTON
) -output bin
/smtplog src
/smtplog.mlb
169 bin
/mysql-fixperms
: $(COMMON_MLTON_DEPS
) src
/mysql-fixperms.mlb
170 $(MLTON
) -output bin
/mysql-fixperms src
/mysql-fixperms.mlb
172 bin
/webbw
: $(COMMON_MLTON_DEPS
) src
/stats
/webbw.mlb src
/stats
/*.sml
173 mlton
-output bin
/webbw src
/stats
/webbw.mlb
175 bin
/domtool-tail
: $(COMMON_MLTON_DEPS
) src
/tail
/tail.mlb src
/tail
/*.sml
176 mlton
-output bin
/domtool-tail src
/tail
/tail.mlb
178 elisp
/domtool-tables.el
: lib
/*.dtl bin
/domtool-doc
179 bin
/domtool-doc
-basis
-emacs
>$@
182 cp openssl
/openssl_sml.so
/usr
/local
/lib
/
183 cp pcre
/pcre_sml.so
/usr
/local
/lib
/
186 cp scripts
/domtool-publish
/usr
/local
/sbin
/
187 cp scripts
/domtool-reset-global
/usr
/local
/sbin
/
188 cp scripts
/domtool-reset-local
/usr
/local
/sbin
/
189 cp scripts
/domtool-adduser
/usr
/local
/bin
/
190 cp scripts
/domtool-addcert
/usr
/local
/bin
/
191 cp scripts
/domtool-readdcerts
/usr
/local
/bin
/
192 cp scripts
/domtool-addacl
/usr
/local
/bin
/
193 cp scripts
/domtool-rmuser
/usr
/local
/bin
/
194 cp scripts
/domtool-admin-sudo
/usr
/local
/bin
/
195 cp scripts
/domtool-server-logged
/usr
/local
/bin
/
196 cp scripts
/domtool-slave-logged
/usr
/local
/bin
/
197 cp scripts
/domtool-server
/etc
/init.d
/
198 cp scripts
/domtool-slave
/etc
/init.d
/
199 -cp bin
/domtool-server
/usr
/local
/sbin
/
200 -cp bin
/domtool-slave
/usr
/local
/sbin
/
201 -cp bin
/domtool-client
/usr
/local
/bin
/domtool
202 -cp bin
/domtool-admin
/usr
/local
/bin
/
203 -cp bin
/domtool-doc
/usr
/local
/bin
/
204 -cp bin
/dbtool
/usr
/local
/bin
/
205 -cp bin
/vmail
/usr
/local
/bin
/
206 -cp bin
/setsa
/usr
/local
/bin
/
207 -cp bin
/smtplog
/usr
/local
/bin
/
208 -cp bin
/mysql-fixperms
/usr
/local
/bin
/
209 -cp bin
/vmailpasswd
/usr
/local
/bin
/
210 -cp bin
/webbw
/usr
/local
/sbin
/
211 -cp bin
/domtool-tail
/usr
/local
/bin
/
212 -chmod
+s
/usr
/local
/bin
/domtool-tail
213 cp src
/plugins
/domtool-postgres
/usr
/local
/sbin
/
214 cp src
/plugins
/domtool-mysql
/usr
/local
/sbin
/
215 -mkdir
-p
$(EMACS_DIR
)
216 cp elisp
/*.el
$(EMACS_DIR
)/
218 .PHONY
: grab_lib install_server install_slave
221 rsync
-r
--delete
/afs
/hcoop.net
/common
/etc
/domtool
/lib
/* lib
/
224 sudo
/etc
/init.d
/domtool-server stop
226 sudo
/etc
/init.d
/domtool-server start
229 sudo
/etc
/init.d
/domtool-slave stop
231 sudo
/etc
/init.d
/domtool-slave start