summaryrefslogtreecommitdiffstats
path: root/regressions/ck_ec/validate/Makefile
blob: f03f49387c2bb132daba784fbeae412d3a45efb5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
.PHONY: check clean distribution

FUZZER ?= none

FUZZ_CFLAGS ?=

# See http://gallium.inria.fr/blog/portable-conditionals-in-makefiles/ for
# the portable conditional technique below.
none_fuzz_cflags =
libfuzzer_fuzz_cflags = -DUSE_LIBFUZZER -fsanitize=fuzzer,memory,undefined

FUZZ_CFLAGS += ${${FUZZER}_fuzz_cflags}

OBJECTS = ck_ec_smoke_test 		\
	prop_test_timeutil_add		\
	prop_test_timeutil_add_ns	\
	prop_test_timeutil_cmp		\
	prop_test_timeutil_scale	\
	prop_test_value 			\
	prop_test_wakeup			\
	prop_test_slow_wakeup

all: $(OBJECTS)

check: all
	./ck_ec_smoke_test
        # the command line arguments are only consumed by libfuzzer.
	./prop_test_slow_wakeup -max_total_time=60
	./prop_test_timeutil_add -max_total_time=60
	./prop_test_timeutil_add_ns -max_total_time=60
	./prop_test_timeutil_cmp -max_total_time=60
	./prop_test_timeutil_scale -max_total_time=60
	./prop_test_value -max_total_time=60
	./prop_test_wakeup -max_total_time=60

quickfuzz: all
	./prop_test_slow_wakeup -max_total_time=5
	./prop_test_timeutil_add -max_total_time=5
	./prop_test_timeutil_add_ns -max_total_time=5
	./prop_test_timeutil_cmp -max_total_time=5
	./prop_test_timeutil_scale -max_total_time=5
	./prop_test_value -max_total_time=5
	./prop_test_wakeup -max_total_time=5

ck_ec_smoke_test: ../../../src/ck_ec.c ck_ec_smoke_test.c ../../../src/ck_ec_timeutil.h ../../../include/ck_ec.h
	$(CC) $(CFLAGS) -std=gnu11 ../../../src/ck_ec.c -o ck_ec_smoke_test ck_ec_smoke_test.c

prop_test_slow_wakeup: ../../../src/ck_ec.c prop_test_slow_wakeup.c ../../../src/ck_ec_timeutil.h ../../../include/ck_ec.h fuzz_harness.h
	$(CC) $(CFLAGS) $(FUZZ_CFLAGS) ../../../src/ck_ec.c -o prop_test_slow_wakeup prop_test_slow_wakeup.c

prop_test_timeutil_add: ../../../src/ck_ec.c prop_test_timeutil_add.c ../../../src/ck_ec_timeutil.h ../../../include/ck_ec.h fuzz_harness.h
	$(CC) $(CFLAGS) $(FUZZ_CFLAGS) ../../../src/ck_ec.c -o prop_test_timeutil_add prop_test_timeutil_add.c

prop_test_timeutil_add_ns: ../../../src/ck_ec.c prop_test_timeutil_add_ns.c ../../../src/ck_ec_timeutil.h ../../../include/ck_ec.h fuzz_harness.h
	$(CC) $(CFLAGS) $(FUZZ_CFLAGS) ../../../src/ck_ec.c -o prop_test_timeutil_add_ns prop_test_timeutil_add_ns.c

prop_test_timeutil_cmp: ../../../src/ck_ec.c prop_test_timeutil_cmp.c ../../../src/ck_ec_timeutil.h ../../../include/ck_ec.h fuzz_harness.h
	$(CC) $(CFLAGS) $(FUZZ_CFLAGS) ../../../src/ck_ec.c -o prop_test_timeutil_cmp prop_test_timeutil_cmp.c

prop_test_timeutil_scale: ../../../src/ck_ec.c prop_test_timeutil_scale.c ../../../src/ck_ec_timeutil.h ../../../include/ck_ec.h fuzz_harness.h
	$(CC) $(CFLAGS) $(FUZZ_CFLAGS) ../../../src/ck_ec.c -o prop_test_timeutil_scale prop_test_timeutil_scale.c

prop_test_value: ../../../src/ck_ec.c prop_test_value.c ../../../src/ck_ec_timeutil.h ../../../include/ck_ec.h fuzz_harness.h
	$(CC) $(CFLAGS) $(FUZZ_CFLAGS) ../../../src/ck_ec.c -o prop_test_value prop_test_value.c

prop_test_wakeup: ../../../src/ck_ec.c prop_test_wakeup.c ../../../src/ck_ec_timeutil.h ../../../include/ck_ec.h fuzz_harness.h
	$(CC) $(CFLAGS) $(FUZZ_CFLAGS) ../../../src/ck_ec.c -o prop_test_wakeup prop_test_wakeup.c

clean:
	rm -rf *~ *.o *.dSYM *.exe $(OBJECTS)

include ../../../build/regressions.build
CFLAGS+=$(PTHREAD_CFLAGS) -D_GNU_SOURCE