41 lines
1013 B
Makefile
41 lines
1013 B
Makefile
CC=cc
|
|
override CFLAGS += -g -I. -Wall -Wpedantic -I ../deps/build/usr/local/include/ -std=gnu11
|
|
LIBPATH = ../deps/build/usr/local/lib/
|
|
LDFLAGS = -L $(LIBPATH)
|
|
LDLIBS = -ljson-c -lcurl -lpthread -lGeoIP
|
|
LDFLAGS += $(LDLIBS)
|
|
CFLAGS_STATIC = $(CFLAGS) --static
|
|
OBJ=helpers.o pfparser.o sysparser.o msgbuffer.o geo.o elasticsearch.o server.o vendor/argparse.o
|
|
TESTS=$(patsubst %.c,%.test,$(wildcard tests/*.c))
|
|
|
|
|
|
%.o: %.c $(DEPS)
|
|
$(CC) -c -o $@ $< $(CFLAGS)
|
|
|
|
csyslog: $(OBJ) main.o
|
|
$(CC) -o $@ $^ $(LDFLAGS)
|
|
|
|
static: $(OBJ) main.o
|
|
$(CC) -o csyslog $^ $(LDFLAGS) --static
|
|
|
|
.PHONY: docker
|
|
docker: static
|
|
sudo docker build -t csyslog .
|
|
|
|
|
|
.PHONY: clean
|
|
clean: cleantests
|
|
rm -vf *.o csyslog
|
|
|
|
.PHONY: cleantests
|
|
cleantests:
|
|
rm -vf tests/*.test
|
|
|
|
|
|
$(TESTS): tests/%.test: tests/%.c $(OBJ)
|
|
$(CC) -o $@ $(OBJ) tests/$*.c $(CFLAGS) $(LDFLAGS)
|
|
|
|
.PHONY: tests
|
|
tests: $(TESTS)
|
|
@bash -c 'for test in $^ ; do printf "======== %-30s ========\n" $$test ; LD_LIBRARY_PATH=$(LIBPATH) ./$$test ; printf "%48s\n" "RC: $$?" ; done'
|