1 # copyright 2016 Apache 2 sddekit authors
5 VALFLAGS
= --error-exitcode
=1 --track-origins
=yes
--leak-check
=full
6 CFLAGS
= -fPIC
-std
=c99
-Isrc
8 SANFLAGS
=-fsanitize
=address
-fsanitize
=float-cast-overflow
-fsanitize
=undefined
10 # various build types {{{
13 else ifeq ($(BUILD
),cov
)
14 CFLAGS
+= -pg
-fprofile-arcs
-ftest-coverage
15 else ifeq ($(BUILD
),js
)
16 CFLAGS
+= -s ALLOW_MEMORY_GROWTH
=1 -O2
18 CFLAGS
+= -Wall
-Wextra
$(SANFLAGS
) -O0
-g
23 c_lib
=$(wildcard src
/*.c
)
24 c_test
=$(wildcard test/test_
*.c
)
25 o_lib
=$(patsubst src
/%.c
,%.
$(OBJEXT
),$(c_lib
))
26 o_test
=$(patsubst test/%.c
,%.
$(OBJEXT
),$(c_test
))
29 # platform specific stuff (http://stackoverflow.com/q/19928965) {{{
30 ifeq ($(OS
),Windows_NT
)
52 echo
"make tests$(EXE) | bench_net_exc$(EXE) | libSDDEKit.$(DLLEXT) | clean"
54 tests
$(EXE
): $(o_lib
) $(o_test
)
55 $(CC
) $(CFLAGS
) test/main.c
$^
-o tests
$(BUILD
)$(EXE
) $(LDFLAGS
)
57 libSDDEKit.
$(DLLEXT
): $(o_lib
)
58 $(CC
) -shared
$^
-o libSDDEKit.
$(DLLEXT
) $(LDFLAGS
)
61 $(RM
) $(o_lib
) $(o_test
) bench_
* tests
* *.dat
*.exe
*.
$(DLLEXT
) *.ilk
*.pdb
64 git branch
-D gh-pages
67 cd docs
&& git add html
/* && git mv html
/* .
/ && git commit
-m
"add doxygen html"
68 git fetch docs master
:gh-pages
76 $(CC
) $(CFLAGS
) -c
$< $(LDFLAGS
) -o
$@
79 $(CC
) $(CFLAGS
) -c
$< $(LDFLAGS
) -o
$@
81 %$(EXE
): bench
/%.c
$(o_lib
)
82 $(CC
) $(CFLAGS
) $< $(o_lib
) $(LDFLAGS
) -o
$@
86 # vim: foldmethod=marker