include config.mk CFLAGS +=-Wall -Werror LIBS = $(MORELIBS) -lm LIBS += -lcurl -lconfig TARGETS= OTR_OBJS = json.o \ geo.o \ geohash.o \ mkpath.o \ base64.o \ misc.o \ util.o \ storage.o \ listsort.o OTR_EXTRA_OBJS = CFLAGS += -DGHASHPREC=$(GHASHPREC) CFLAGS += -Imdb/ OTR_OBJS += gcache.o LIBS += mdb/liblmdb.a -lpthread TARGETS += mdb/liblmdb.a ifeq ($(WITH_MQTT),yes) CFLAGS += -DWITH_MQTT=1 CFLAGS += $(MOSQUITTO_INC) LIBS += $(MOSQUITTO_LIB) -lmosquitto -lm endif ifeq ($(WITH_PING),yes) CFLAGS += -DWITH_PING=1 endif ifeq ($(WITH_LUA),yes) CFLAGS += -DWITH_LUA=1 $(LUA_CFLAGS) LIBS += $(LUA_LIBS) OTR_OBJS += hooks.o endif ifeq ($(WITH_ENCRYPT),yes) CFLAGS += -DWITH_ENCRYPT=1 $(SODIUM_CFLAGS) LIBS += $(SODIUM_LIBS) endif ifeq ($(WITH_KILL),yes) CFLAGS += -DWITH_KILL=1 endif ifeq ($(WITH_HTTP),yes) CFLAGS += -DWITH_HTTP=1 OTR_EXTRA_OBJS += mongoose.o http.o endif ifeq ($(WITH_GREENWICH),yes) CFLAGS += -DWITH_GREENWICH=1 endif ifeq ($(JSON_INDENT),yes) CFLAGS += -DJSON_INDENT="\" \"" else CFLAGS += -DJSON_INDENT=NULL endif CFLAGS += -DSTORAGEDEFAULT=\"$(STORAGEDEFAULT)\" -DDOCROOT=\"$(DOCROOT)\" CFLAGS += -DCONFIGFILE=\"$(CONFIGFILE)\" TARGETS += ot-recorder ocat GIT_VERSION := $(shell git describe --long --abbrev=10 --dirty --tags 2>/dev/null || echo "tarball") CFLAGS += -DGIT_VERSION=\"$(GIT_VERSION)\" all: $(TARGETS) ot-recorder: recorder.o $(OTR_OBJS) $(OTR_EXTRA_OBJS) $(CC) $(CFLAGS) -o ot-recorder recorder.o $(OTR_OBJS) $(OTR_EXTRA_OBJS) $(LIBS) if test -r codesign.sh; then /bin/sh codesign.sh; fi ocat: ocat.o $(OTR_OBJS) $(CC) $(CFLAGS) -o ocat ocat.o $(OTR_OBJS) $(LIBS) $(OTR_OBJS): config.mk Makefile recorder.o: recorder.c storage.h util.h Makefile geo.h udata.h json.h http.h gcache.h config.mk hooks.h base64.h recorder.h version.h geo.o: geo.h geo.c udata.h geohash.o: geohash.h geohash.c udata.h base64.o: base64.h base64.c $(CC) $(CFLAGS) -Wno-unused-result -Wno-uninitialized -c base64.c gcache.o: gcache.c gcache.h json.h misc.o: misc.c misc.h udata.h http.o: http.c mongoose.h util.h http.h storage.h version.h hooks.h util.o: util.c util.h mongoose.o: mongoose.c mongoose.h ocat.o: ocat.c storage.h util.h version.h config.mk Makefile storage.o: storage.c storage.h util.h gcache.h listsort.h hooks.o: hooks.c udata.h hooks.h util.h version.h gcache.h listsort.o: listsort.c listsort.h clean: rm -f *.o clobber: clean (cd mdb; $(MAKE) clean) rm -f ot-recorder ocat mdb/liblmdb.a: (cd mdb && $(MAKE) liblmdb.a CC=$(CC) CFLAGS="$(MDBFLAGS)" ) install: ot-recorder ocat mkdir -p $(DESTDIR)$(INSTALLDIR)/bin mkdir -p $(DESTDIR)$(INSTALLDIR)/sbin mkdir -p $(DESTDIR)$(DOCROOT) mkdir -p $(DESTDIR)$(STORAGEDEFAULT)/last cp -R docroot/* $(DESTDIR)$(DOCROOT)/ install -m 0755 ot-recorder $(DESTDIR)$(INSTALLDIR)/sbin install -m 0755 ocat $(DESTDIR)$(INSTALLDIR)/bin test -r $(DESTDIR)/$(CONFIGFILE) || install -D -m 640 etc/ot-recorder.default $(DESTDIR)/$(CONFIGFILE) ifndef DESTDIR $(INSTALLDIR)/sbin/ot-recorder --initialize endif # mkdir -p $(DESTDIR)/etc/systemd/system/ # install --mode 0644 etc/ot-recorder.service $(DESTDIR)/etc/systemd/system/ot-recorder.service