More verbose couldn't-find-cert message
[hcoop/zz_old/domtool2-proto.git] / Makefile
CommitLineData
c342e144 1all: mlton
333d26a4 2
c342e144 3COMMON_DEPS := configDefault/config.sig configDefault/configDefault.sml \
5c9ea1a6 4 openssl/openssl_sml.so config.sml
5
6config.sml:
7 echo -e 'structure Config :> CONFIG = struct\nopen ConfigDefault\nend' > $@
c342e144 8
0cfb3669 9.PHONY: all mlton smlnj install
c342e144 10
e26d6b6e 11mlton: bin/domtool-server bin/domtool-client bin/domtool-slave \
c685120e 12 bin/domtool-admin bin/domtool-doc bin/dbtool bin/vmail \
9218baa0 13 bin/smtplog bin/setsa
c342e144 14
15smlnj: $(COMMON_DEPS) openssl/smlnj/FFI/libssl.h.cm src/domtool.cm
333d26a4 16
17configDefault/config.sig: src/config.sig.header \
1f53f82b 18 configDefault/*.csg configDefault/*.cfs \
19 src/config.sig.footer
20 cat configDefault/*.csg \
21 src/config.sig.header \
333d26a4 22 configDefault/*.cfs \
23 src/config.sig.footer \
24 >configDefault/config.sig
25
26configDefault/configDefault.sml: src/configDefault.sml.header \
27 configDefault/*.cfg src/configDefault.sml.footer
28 cat src/configDefault.sml.header \
29 configDefault/*.cfg \
30 src/configDefault.sml.footer \
31 >configDefault/configDefault.sml
32
1f8889bd 33openssl/openssl_sml.o: openssl/openssl_sml.c
34 gcc -fPIC -c openssl/openssl_sml.c -o openssl/openssl_sml.o
35
36openssl/openssl_sml.so: openssl/openssl_sml.o
37 gcc -shared -Wl,-soname,openssl_sml.so \
38 -o openssl/openssl_sml.so \
39 openssl/openssl_sml.o -lssl
40
634d7082 41src/domtool.cm: src/prefix.cm src/sources
c342e144 42 cat src/prefix.cm src/sources >src/domtool.cm
43
037af74e 44MAKE_MLB_BASE := cat src/prefix.mlb src/sources src/suffix.mlb \
45 | sed 's/^\(.*\).grm$$/\1.grm.sig\n\1.grm.sml/' \
46 | sed 's/^\(.*\).lex$$/\1.lex.sml/'
47
634d7082 48src/domtool-server.mlb: src/prefix.mlb src/sources src/suffix.mlb
037af74e 49 $(MAKE_MLB_BASE) >src/domtool-server.mlb
c342e144 50 echo "main-server.sml" >>src/domtool-server.mlb
51
634d7082 52src/domtool-client.mlb: src/prefix.mlb src/sources src/suffix.mlb
037af74e 53 $(MAKE_MLB_BASE) >src/domtool-client.mlb
0cfb3669 54 echo "main-client.sml" >>src/domtool-client.mlb
55
634d7082 56src/domtool-slave.mlb: src/prefix.mlb src/sources src/suffix.mlb
037af74e 57 $(MAKE_MLB_BASE) >src/domtool-slave.mlb
a7bcd59c 58 echo "main-slave.sml" >>src/domtool-slave.mlb
59
634d7082 60src/domtool-admin.mlb: src/prefix.mlb src/sources src/suffix.mlb
e2130d9c 61 $(MAKE_MLB_BASE) >src/domtool-admin.mlb
62 echo "main-admin.sml" >>src/domtool-admin.mlb
63
634d7082 64src/domtool-doc.mlb: src/prefix.mlb src/sources src/suffix.mlb
e26d6b6e 65 $(MAKE_MLB_BASE) >src/domtool-doc.mlb
66 echo "main-doc.sml" >>src/domtool-doc.mlb
67
634d7082 68src/dbtool.mlb: src/prefix.mlb src/sources src/suffix.mlb
69 $(MAKE_MLB_BASE) >src/dbtool.mlb
70 echo "main-dbtool.sml" >>src/dbtool.mlb
71
c45f1662 72src/vmail.mlb: src/prefix.mlb src/sources src/suffix.mlb
73 $(MAKE_MLB_BASE) >src/vmail.mlb
74 echo "main-vmail.sml" >>src/vmail.mlb
75
bb8cc8c9 76src/setsa.mlb: src/prefix.mlb src/sources src/suffix.mlb
77 $(MAKE_MLB_BASE) >src/setsa.mlb
78 echo "main-setsa.sml" >>src/setsa.mlb
79
c685120e 80src/smtplog.mlb: src/prefix.mlb src/sources src/suffix.mlb
81 $(MAKE_MLB_BASE) >src/smtplog.mlb
82 echo "main-smtplog.sml" >>src/smtplog.mlb
83
1f8889bd 84openssl/smlnj/FFI/libssl.h.cm: openssl/openssl_sml.h
85 cd openssl/smlnj ; ml-nlffigen -d FFI -lh LibsslH.libh -include ../libssl-h.sml \
86 -cm libssl.h.cm -D__builtin_va_list="void*" \
87 ../openssl_sml.h
c342e144 88
89openssl/mlton/FFI/libssl.h.mlb: openssl/openssl_sml.h
90 cd openssl/mlton ; mlnlffigen -dir FFI -libhandle LibsslH.libh -include ../libssl-h.sml \
91 -mlbfile libssl.h.mlb -cppopt -D__builtin_va_list="void*" \
92 ../openssl_sml.h
93
94%.lex.sml: %.lex
514b7936 95 mllex $<
c342e144 96
97%.grm.sig %.grm.sml: %.grm
514b7936 98 mlyacc $<
c342e144 99
037af74e 100COMMON_MLTON_DEPS := openssl/mlton/FFI/libssl.h.mlb \
101 src/domtool.lex.sml \
102 src/domtool.grm.sig src/domtool.grm.sml \
103 $(COMMON_DEPS) src/*.sig src/*.sml \
87af74d0 104 src/plugins/*.sig src/plugins/*.sml \
105 src/mail/*.sig src/mail/*.sml
037af74e 106
97d03e40 107MLTON := mlton -link-opt -ldl
108
109ifdef DEBUG
110 MLTON += -const 'Exn.keepHistory true'
111endif
112
037af74e 113bin/domtool-server: $(COMMON_MLTON_DEPS) src/domtool-server.mlb
97d03e40 114 $(MLTON) -output bin/domtool-server src/domtool-server.mlb
0cfb3669 115
037af74e 116bin/domtool-client: $(COMMON_MLTON_DEPS) src/domtool-client.mlb
97d03e40 117 $(MLTON) -output bin/domtool-client src/domtool-client.mlb
0cfb3669 118
037af74e 119bin/domtool-slave: $(COMMON_MLTON_DEPS) src/domtool-slave.mlb
97d03e40 120 $(MLTON) -output bin/domtool-slave src/domtool-slave.mlb
a7bcd59c 121
e2130d9c 122bin/domtool-admin: $(COMMON_MLTON_DEPS) src/domtool-admin.mlb
97d03e40 123 $(MLTON) -output bin/domtool-admin src/domtool-admin.mlb
e2130d9c 124
e26d6b6e 125bin/domtool-doc: $(COMMON_MLTON_DEPS) src/domtool-doc.mlb
97d03e40 126 $(MLTON) -output bin/domtool-doc src/domtool-doc.mlb
e26d6b6e 127
634d7082 128bin/dbtool: $(COMMON_MLTON_DEPS) src/dbtool.mlb
97d03e40 129 $(MLTON) -output bin/dbtool src/dbtool.mlb
634d7082 130
c45f1662 131bin/vmail: $(COMMON_MLTON_DEPS) src/vmail.mlb
97d03e40 132 $(MLTON) -output bin/vmail src/vmail.mlb
c45f1662 133
bb8cc8c9 134bin/setsa: $(COMMON_MLTON_DEPS) src/setsa.mlb
0a742954 135 $(MLTON) -output bin/setsa src/setsa.mlb
bb8cc8c9 136
c685120e 137bin/smtplog: $(COMMON_MLTON_DEPS) src/smtplog.mlb
97d03e40 138 $(MLTON) -output bin/smtplog src/smtplog.mlb
c685120e 139
0cfb3669 140install:
c5ae7537 141 cp scripts/domtool-publish /usr/local/sbin/
6731761e 142 cp scripts/domtool-reset-global /usr/local/sbin/
143 cp scripts/domtool-reset-local /usr/local/sbin/
a82d7967 144 cp scripts/domtool-adduser /usr/local/bin/
145 cp scripts/domtool-addcert /usr/local/bin/
b247eba3 146 cp scripts/domtool-addcert-daemon /usr/local/bin/
a82d7967 147 cp scripts/domtool-addacl /usr/local/bin/
148 cp scripts/domtool-rmuser /usr/local/bin/
93176f2b 149 cp scripts/domtool-admin-sudo /usr/local/bin/
150 cp scripts/domtool-server-logged /usr/local/bin/
aef9c54f 151 cp scripts/domtool-slave-logged /usr/local/bin/
152 cp scripts/domtool-server /etc/init.d/
153 cp scripts/domtool-slave /etc/init.d/
c5ae7537 154 cp openssl/openssl_sml.so /usr/local/lib/
091a3b81 155 -cp bin/domtool-server /usr/local/sbin/
156 -cp bin/domtool-slave /usr/local/sbin/
157 -cp bin/domtool-client /usr/local/bin/domtool
158 -cp bin/domtool-admin /usr/local/bin/
159 -cp bin/domtool-doc /usr/local/bin/
634d7082 160 -cp bin/dbtool /usr/local/bin/
c45f1662 161 -cp bin/vmail /usr/local/bin/
bb8cc8c9 162 -cp bin/setsa /usr/local/bin/
c685120e 163 -cp bin/smtplog /usr/local/bin/
634d7082 164 cp src/plugins/domtool-postgres /usr/local/sbin/
d2583946 165 cp src/plugins/domtool-mysql /usr/local/sbin/
ae175ff1 166
59815d99 167.PHONY: grab_lib install_server install_slave
ae175ff1 168
169grab_lib:
3408676a 170 rsync -r --delete /afs/hcoop.net/common/etc/domtool/lib/* lib/
59815d99 171
172install_server:
173 sudo /etc/init.d/domtool-server stop
174 sudo make install
175 sudo /etc/init.d/domtool-server start
6f51302e 176
177install_slave:
178 sudo /etc/init.d/domtool-slave stop
179 sudo make install
180 sudo /etc/init.d/domtool-slave start