1
CFLAGS=-DNDEBUG -DNO_LINENOS -pthread -g -I../../src -Isrc -Wall $(OPTFLAGS)
2
LIBS=-lzmq -lsqlite3 ../../build/libm2.a $(OPTLIBS)
5
SOURCES=$(wildcard src/*.c src/**/*.c)
6
OBJECTS=$(patsubst %.c,%.o,${SOURCES})
7
TEST_SRC=$(wildcard tests/*.c)
8
TESTS=$(patsubst %.c,%,${TEST_SRC})
9
LIB_SRC=$(filter-out src/m2sh.c,${SOURCES})
10
LIB_OBJ=$(filter-out src/m2sh.o,${OBJECTS})
12
all: ../lemon/lemon tests build/m2sh
14
dev: CFLAGS=-g -Wall -Wextra -Isrc -I../../src $(OPTFLAGS)
18
install build/m2sh ${DESTDIR}${PREFIX}/bin
20
build/libm2sh.a: ${LIB_OBJ}
25
build/m2sh: ../lemon/lemon ../../build/libm2.a ${OBJECTS}
27
$(CC) $(CFLAGS) -o build/m2sh ${OBJECTS} ../../build/libm2.a $(LIBS)
29
../lemon/lemon: ../lemon/lemon.c
30
$(CC) -O2 ../lemon/lemon.c -o ../lemon/lemon
32
tests: build/libm2sh.a ${TESTS}
33
sh ./tests/runtests.sh
41
$(TESTS): %: %.c build/libm2sh.a
42
$(CC) $(CFLAGS) -o $@ $< build/libm2sh.a ../../build/libm2.a $(LIBS)
45
cd ../.. && make clean all
48
rm -rf src/*.o src/*/*.o build tests/*_tests tests/*.o
53
netbsd: OPTFLAGS=-I/usr/local/include -I/usr/pkg/include
54
netbsd: OPTLIBS=-L/usr/local/lib -L/usr/pkg/lib
57
freebsd: OPTFLAGS=-I/usr/local/include
58
freebsd: OPTLIBS=-L/usr/local/lib