1 # Copyright 2017, pEp Foundation
2 # This file is part of pEpEngine
3 # This file may be used under the terms of the GNU General Public License version 3
6 include ../default.conf
8 CFLAGS+= $(ETPAN_INC) -I../asn.1 -DSYSTEM_DB=\"$(SYSTEM_DB)\" $(EXTRA_MACROS)
9 LDFLAGS+= $(ETPAN_LIB) -L../asn.1 -shared
10 LDLIBS+= -lc -letpan -lasn1
13 ifeq ($(BUILD_ON),Darwin)
14 ifeq ($(BUILD_FOR),Darwin)
15 CFLAGS+= -DSQLITE_THREADSAFE=1
18 $(error I don't know how to make for $(BUILD_FOR) on $(BUILD_ON))
20 else ifeq ($(BUILD_ON),Linux)
21 ifeq ($(BUILD_FOR),Linux)
22 CFLAGS+= -DSQLITE_THREADSAFE=1 -D_GNU_SOURCE
25 $(error I don't know how to make for $(BUILD_FOR) on $(BUILD_ON))
28 $(error I don't know how to make for $(BUILD_FOR) on $(BUILD_ON))
33 CFLAGS+= -DSQLITE3_FROM_OS
38 NO_SOURCE+= pgp_netpgp.c
39 CFLAGS+= -DUSE_GPG $(GPGME_INC) -DLIBGPGME=\"$(LIBGPGME)\"
40 LDFLAGS+= $(GPGME_LIB)
41 # No extra LDLIBS are needed here, because GPGME is dynamically loaded
42 else ifeq ($(OPENPGP),NETPGP)
44 CFLAGS+= -DUSE_NETPGP $(NETGPG_INC)
45 LDFLAGS+= $(NETGPG_LIB)
46 LDLIBS+= -lnetpgp -lcurl
48 $(error Unknown OpenPGP library: $(OPENPGP))
51 ALL_SOURCE=$(filter-out $(NO_SOURCE),$(wildcard *.c))
52 DEPENDS=$(subst .c,.d,$(ALL_SOURCE))
53 ALL_OBJECTS=$(subst .c,.o,$(ALL_SOURCE))
58 -include Makefile.protocols
62 $(CC) -MM $(CPPFLAGS) $(CFLAGS) $< > $@.$$$$; \
63 sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
66 # If only the goal 'clean' is given, do not generate and include the '%.d' files.
67 ifneq ($(MAKECMDGOALS),clean)
71 $(TARGET): libpEpEngine.a
72 $(CC) $(ALL_OBJECTS) $(LDFLAGS) $(LDLIBS) -o $@
75 objects: $(ALL_OBJECTS)
77 libpEpEngine.a: $(ALL_OBJECTS)
82 rm -f *.d *.o *.a $(TARGET) *.dll *.so *.zip *.d.* *.def *~
87 mkdir -p "$(PREFIX)/lib/"
89 mkdir -p $(PREFIX)/include/pEp
90 cp -v pEpEngine.h keymanagement.h message_api.h dynamic_api.h stringlist.h \
91 timestamp.h identity_list.h bloblist.h stringpair.h message.h mime.h \
92 cryptotech.h sync.h sync_fsm.h sync_app.h blacklist.h pEp_string.h \
93 openpgp_compat.h $(PREFIX)/include/pEp/
97 rm -f $(PREFIX)/lib/$(TARGET)
98 rm -rf $(PREFIX)/include/pEp