2 TARGETS_OFFLINE = valexprun testvalexp pulleybacksimu
3 TARGETS = $(TARGETS_OFFLINE) onlinecheck testonline pulleybacksimu
5 PKG_CONFIG ?= pkg-config
9 CFLAGS += -pthread -I ../include
11 # Hey... this is testing code, so c'mon let's DEBUG
20 valexprun_CFLAGS = -ggdb3
23 config_CFLAGS = -DCONFIG_PARSE_ONLY
25 VALEXP_TESTS = $(shell cd data-valexp-in ; ls -1)
27 GNUTLS_CFLAGS = $(shell $(PKG_CONFIG) --cflags gnutls)
28 GNUTLS_LIBS = $(shell $(PKG_CONFIG) --libs gnutls)
30 P11KIT_CFLAGS = $(shell $(PKG_CONFIG) --cflags p11-kit-1)
31 P11KIT_LIBS = $(shell $(PKG_CONFIG) --libs p11-kit-1)
36 QUICKDER_CFLAGS = $(shell $(PKG_CONFIG) --cflags quick-der) -ggdb3
37 QUICKDER_LIBS = $(shell $(PKG_CONFIG) --libs quick-der)
41 valexprun: valexprun.c ../src/validate.c
42 gcc $(CFLAGS) $(valexprun_CFLAGS) -o "$@" "$<" $(valexprun_LIBS)
45 @ mkdir -p 'data-valexp-out'
46 @ [ ! -r ../.git ] && git init && echo 'Created local .git for testing' || true
47 @ [ -r .git ] && git add data-valexp-in/* data-valexp-out/* || true
48 @ $(foreach test,$(VALEXP_TESTS),./valexprun $$(cat 'data-valexp-in/$(test)') > 'data-valexp-out/$(test)' && ) echo 'All validation expression test output was generated'
49 @ echo -n '[ #FINAL == #SIGNAL ] test: '
50 [ $(shell grep ^FINAL data-valexp-out/* | wc -l) -eq $(shell grep ^SIGNAL data-valexp-out/* | wc -l) ]
51 @ echo -n '[ #Starting == #Stopping ] test: '
52 [ $(shell grep ^Starting data-valexp-out/* | wc -l) -eq $(shell grep ^Stopping data-valexp-out/* | wc -l) ]
53 @ git diff --stat --exit-code data-valexp-out
54 @ git ls-files --error-unmatch data-valexp-in/* >/dev/null
55 @ git ls-files --error-unmatch data-valexp-out/* >/dev/null
56 @ echo All validation expression tests succeeded
58 onlinecheck: onlinecheck.c ../src/online.c ../src/config.c ../src/pgp.c
59 gcc $(CFLAGS) $(GNUTLS_CFLAGS) $(QUICKDER_CFLAGS) $(config_CFLAGS) -o "$@" "$<" ../src/pgp.c ../src/config.c -lunbound -lldns -lldap $(GNUTLS_LIBS) $(QUICKDER_LIBS)
61 testonline: onlinecheck
62 ./onlinecheck ../etc/tlspool.conf | tee | grep -v 'UNEXPECTED OUTPUT FAILURE'
64 pulleybacksimu: pulleybacksimu.c
65 @# gcc $(CFLAGS) -o "$@" "$<" ../pulleyback/api.o ../pulleyback/parse.o ../pulleyback/connect.o ../pulleyback/update.o -lquickder -ldb
66 gcc $(CFLAGS) -o "$@" "$<" ../pulleyback/pulleyback_tlspool.so
69 rm -f $(OBJS) $(TARGETS)