]> mj.ucw.cz Git - eval.git/blobdiff - submit/Makefile
Submit: More gnutls fixes
[eval.git] / submit / Makefile
index b1b3b116895fe836ef165ec072fb39a9f6427564..0fa14ec8687b48a356f4e3eabf506d2a8c1392d1 100644 (file)
@@ -1,48 +1,47 @@
-TLSCF:=$(shell libgnutls-config --cflags)
-TLSLF:=$(shell libgnutls-config --libs)
-GCRCF:=$(shell libgcrypt-config --cflags)
-
-CFLAGS+=-I$(LIBUCW)/include $(TLSCF) $(GCRCF)
-LDFLAGS+=$(TLSLF)
-LDFLAGS+=-lpthread     # FIXME: Use libucw without threads
-
-all: submitd privkey lib
-
-submitd: submitd.o commands.o tasks.o $(LIBUCW)/lib/libsh.a $(LIBUCW)/lib/libucw.a
-submitd.o: submitd.c submitd.h
-commands.o: commands.c submitd.h
-tasks.o: tasks.c submitd.h
-connect: connect.o $(LIBUCW)/lib/libucw.a
-connect.o: connect.c
-privkey: privkey.o $(LIBUCW)/lib/libucw.a
-privkey.o: privkey.c
-
-certs:
-       certtool --generate-privkey --outfile ca-key.pem
-       certtool --generate-privkey --outfile ca-key.pem --template ca-cert.tpl
-       certtool --generate-privkey --outfile server-key.pem
-       certtool --generate-request --load-privkey server-key.pem --outfile server-req.pem --template server-cert.tpl
-       certtool --generate-certificate --load-request server-req.pem --outfile server-cert.pem --load-ca-certificate ca-cert.pem --load-ca-privkey ca-key.pem --template server-cert.tpl
-       certtool --generate-privkey --outfile client-key.pem
-       certtool --generate-request --load-privkey client-key.pem --outfile client-req.pem --template client-cert.tpl
-       certtool --generate-certificate --load-request client-req.pem --outfile client-cert.pem --load-ca-certificate ca-cert.pem --load-ca-privkey ca-key.pem --template client-cert.tpl
-       # Beware of serial numbers
-
-lib: .lib-stamp lib/perl5/MO/Submit.pm lib/perl5/Sherlock/Object.pm
-
-.lib-stamp:
-       mkdir -p lib/perl5/{MO,Sherlock}
-       touch .lib-stamp
-
-lib/perl5/MO/Submit.pm: MO/Submit.pm
-       cp $^ $@
-
-lib/perl5/Sherlock/Object.pm: $(LIBUCW)/lib/perl5/Sherlock/Object.pm
-       cp $^ $@
-
-clean:
-       rm -f `find . -name "*~" -or -name "*.[oa]" -or -name "\#*\#" -or -name TAGS -or -name core -or -name .depend -or -name .#*`
-       rm -f submitd connect privkey
-       rm -rf lib .lib-stamp
-
-.PHONY: lib
+# Makefile for MO-Eval submitter
+# (c) 2008 Martin Mares <mj@ucw.cz>
+
+SUBCF=$(LIBGCRYPT_CFLAGS) $(LIBGNUTLS_CFLAGS) $(GNUTLS_CFLAGS)
+SUBLF=$(LIBGCRYPT_LIBS) $(LIBGNUTLS_LIBS) $(GNUTLS_LIBS)
+
+DIRS+=submit
+SDIR=$(o)/submit
+
+### The submit server ###
+
+PROGS+=$(addprefix $(SDIR)/,submitd privkey connect)
+
+$(SDIR)/submitd: $(addprefix $(SDIR)/,submitd.o commands.o tasks.o) $(LIBUCW) $(LIBSH)
+$(SDIR)/submitd: CFLAGS+=$(SUBCF)
+$(SDIR)/submitd: LIBS+=$(SUBLF)
+
+$(SDIR)/connect: $(SDIR)/connect.o $(LIBUCW)
+$(SDIR)/connect: CFLAGS+=$(SUBCF)
+$(SDIR)/connect: LIBS+=$(SUBLF)
+
+$(SDIR)/privkey: $(SDIR)/privkey.o $(LIBUCW)
+$(SDIR)/privkey: CFLAGS+=$(SUBCF)
+$(SDIR)/privkey: LIBS+=$(SUBLF)
+
+CONFIGS+=submitd
+run/cf/submitd: $(SDIR)/submitd.cf
+
+### Submitter perl module ###
+
+EXTRA_RUNDIRS+=lib/perl5/MO
+SUBMIT_PERL_MODS=$(o)/submit/Submit.pm
+PROGS+=$(SUBMIT_PERL_MODS)
+
+$(SUBMIT_PERL_MODS): PERL_MODULE_DIR=MO
+
+### The submit client and utilities ###
+
+PROGS+=$(addprefix $(SDIR)/,contest create-certs remote-status remote-submit show-submits)
+
+$(SDIR)/contest: $(s)/submit/contest.pl
+$(SDIR)/create-certs: $(s)/submit/create-certs.sh
+$(SDIR)/remote-status: $(s)/submit/remote-status.pl
+$(SDIR)/remote-submit: $(s)/submit/remote-submit.pl
+$(SDIR)/show-submits: $(s)/submit/show-submits.pl
+
+DATAFILES+=$(addprefix $(SDIR)/,ca-cert.tpl client-cert.tpl server-cert.tpl)