$(CC) -lcrypt -o $@ $<
COMMON_DEPS := configDefault/config.sig configDefault/configDefault.sml \
- openssl/openssl_sml.so config.sml
+ openssl/openssl_sml.so pcre/pcre_sml.so config.sml
EMACS_DIR := /usr/local/share/emacs/site-lisp/domtool-mode
config.sml:
echo -e 'structure Config :> CONFIG = struct\nopen ConfigDefault\nend' > $@
-.PHONY: all mlton smlnj install
+.PHONY: all mlton smlnj install install_sos
mlton: bin/domtool-server bin/domtool-client bin/domtool-slave \
bin/domtool-admin bin/domtool-doc bin/dbtool bin/vmail \
bin/smtplog bin/setsa bin/mysql-fixperms bin/webbw
-smlnj: $(COMMON_DEPS) openssl/smlnj/FFI/libssl.h.cm src/domtool.cm
+smlnj: $(COMMON_DEPS) openssl/smlnj/FFI/libssl.h.cm pcre/smlnj/FFI/libpcre.h.cm \
+ src/domtool.cm
configDefault/config.sig: src/config.sig.header \
configDefault/*.csg configDefault/*.cfs \
-o openssl/openssl_sml.so \
openssl/openssl_sml.o -lssl
+pcre/pcre_sml.o: pcre/pcre_sml.c
+ gcc -fPIC -c pcre/pcre_sml.c -o pcre/pcre_sml.o
+
+pcre/pcre_sml.so: pcre/pcre_sml.o
+ gcc -shared -Wl,-soname,pcre_sml.so \
+ -o pcre/pcre_sml.so \
+ pcre/pcre_sml.o -lpcre
+
src/domtool.cm: src/prefix.cm src/sources
cat src/prefix.cm src/sources >src/domtool.cm
-mlbfile libssl.h.mlb -cppopt -D__builtin_va_list="void*" \
../openssl_sml.h
+pcre/smlnj/FFI/libpcre.h.cm: pcre/pcre_sml.h
+ cd pcre/smlnj ; ml-nlffigen -d FFI -lh LibpcreH.libh -include ../libpcre-h.sml \
+ -cm libpcre.h.cm -D__builtin_va_list="void*" \
+ ../pcre_sml.h
+
+pcre/mlton/FFI/libpcre.h.mlb: pcre/pcre_sml.h
+ cd pcre/mlton ; mlnlffigen -dir FFI -libhandle LibpcreH.libh -include ../libpcre-h.sml \
+ -mlbfile libpcre.h.mlb -cppopt -D__builtin_va_list="void*" \
+ ../pcre_sml.h
+
%.lex.sml: %.lex
mllex $<
mlyacc $<
COMMON_MLTON_DEPS := openssl/mlton/FFI/libssl.h.mlb \
+ pcre/mlton/FFI/libpcre.h.mlb \
src/domtool.lex.sml \
src/domtool.grm.sig src/domtool.grm.sml \
$(COMMON_DEPS) src/*.sig src/*.sml \
elisp/domtool-tables.el: lib/*.dtl bin/domtool-doc
bin/domtool-doc -basis -emacs >$@
-install:
+install_sos:
+ cp openssl/openssl_sml.so /usr/local/lib/
+ cp pcre/pcre_sml.so /usr/local/lib/
+
+install: install_sos
cp scripts/domtool-publish /usr/local/sbin/
cp scripts/domtool-reset-global /usr/local/sbin/
cp scripts/domtool-reset-local /usr/local/sbin/
cp scripts/domtool-slave-logged /usr/local/bin/
cp scripts/domtool-server /etc/init.d/
cp scripts/domtool-slave /etc/init.d/
- cp openssl/openssl_sml.so /usr/local/lib/
-cp bin/domtool-server /usr/local/sbin/
-cp bin/domtool-slave /usr/local/sbin/
-cp bin/domtool-client /usr/local/bin/domtool