add em scheme & exc sys
[sddekit.git] / Makefile
blobd64000ce6ea4f3ca9cb26581cbdb883d121492a2
1 # Apache 2.0 INS-AMU 2015
3 CC=gcc
4 FC=gfortran
5 OPTFLAGS=-O0
6 WFLAGS=-Wpedantic -Wall -Wextra
7 CFLAGS=-ansi -fPIC $(OPTFLAGS) $(WFLAGS) -g -DSKDEBUG
8 LFLAGS=-lm
9 FFLAGS=-Ofast -fPIC
11 skmods=util test hist solv sys scheme
12 ekobjs=lapack.o blas.o expokit.o
13 objects=$(patsubst %,sk_%.o,$(skmods)) randomkit.o
14 testfiles=$(wildcard test_*.c)
17 all: $(objects) libsk.so
19 check: sk_tests
20 valgrind --error-exitcode=1 --track-origins=yes --leak-check=full ./sk_tests
22 gdb: sk_tests
23 gdb sk_tests -ex "b sk_test_failed"
25 %.o: %.c
26 $(CC) $(CFLAGS) -c $< -o $*.o
28 %.o: %.f
29 $(FC) $(FFLAGS) -c $< -o $*.o
31 libsk.so: $(objects)
32 $(CC) -shared $(objects) -o libsk.so
34 sk_tests.c: $(objects) $(patsubst %.c,%.o,$(testfiles))
35 ./sk_tests_collect.sh > sk_tests.c
37 sk_tests: sk_tests.c
38 $(CC) $(CFLAGS) $(objects) test_*.o sk_tests.c $(LFLAGS) -o $@
40 clean:
41 rm -rf *.o sk_tests *.so tags *.dat