2 TARGETS = libtlspool.dll libtlspool.lib
4 TARGETS = libtlspool.so libtlspool.a
8 # Wrappers for other languages.
9 # Built als language_tlspool.so to allow their co-existence in this directory.
10 # Installation may have to rename, e.g. pyhton_tlspool.so -> _tlspool.so
12 # Since the TLS Pool passes structures in and out, language wrappers may be needed.
15 #WISHLIST: tcl ruby perl tcl java cis php lua go r modula3 javascript [and so on...]
17 CFLAGS += -fPIC -I ../include -std=gnu11
27 # TODO libtlspool_lidentry and libtlspool_pinentry
28 libtlspool_OBJS = libtlspool.o
30 libtlspool_OBJS = libtlspool.o libtlspool_lidentry.o libtlspool_pinentry.o libtlspool_configvar.o
33 OBJS = $(libtlspool_OBJS)
36 CFLAGS += -D_WIN32_WINNT=0x0600 -I ../include/windows
37 libtlspool_OBJS += windows/syslog.o windows/socketpair.o
38 LIBS += -lkernel32 -ladvapi32 -lmsvcrt -lwsock32 -lws2_32
41 PYTHON_CFLAGS = $(shell python-config --cflags)
42 PYTHON_LIBS = $(shell python-config --libs)
44 PERL_CFLAGS = -I/usr/lib/perl/5.14.2/CORE
47 TCL_CFLAGS = -I/usr/include/tcl8.5
50 all: $(TARGETS) wrappers
53 #DIY# @$(foreach w,$(WRAPPERS),$(MAKE) DESTDIR=$(DESTDIR) PREFIX=$(PREFIX) -C '$(w)' all && ) echo Wrappers built for $(WRAPPERS)
55 libtlspool.so: $(libtlspool_OBJS)
56 $(CC) -shared $(LDFLAGS) -o "$@" $(libtlspool_OBJS) $(LIBS)
58 libtlspool.a: $(libtlspool_OBJS)
60 ar rc "$@" $(libtlspool_OBJS)
62 libtlspool.dll: $(libtlspool_OBJS)
63 $(CC) -shared $(LDFLAGS) -o "$@" $(libtlspool_OBJS) $(LIBS)
65 libtlspool.lib: windows/libtlspool.def
66 $(DLLTOOL) --input-def "$<" --output-lib "$@"
69 $(CC) -c $(CFLAGS) -o "$@" "$<"
72 rm -f $(OBJS) *.lo *.la $(TARGETS)
73 #DIY# @$(foreach w,$(WRAPPERS),$(MAKE) DESTDIR=$(DESTDIR) PREFIX=$(PREFIX) -C '$(w)' clean && ) echo Wrappers cleaned for $(WRAPPERS)
79 install libtlspool.dll libtlspool.lib "$(DESTDIR)$(PREFIX)/bin/"
80 mkdir -p "$(DESTDIR)$(PREFIX)/include/tlspool"
81 install ../include/tlspool/starttls.h "$(DESTDIR)$(PREFIX)/include/tlspool"
82 install ../include/tlspool/commands.h "$(DESTDIR)$(PREFIX)/include/tlspool"
84 install -d "$(DESTDIR)$(PREFIX)/lib/"
85 install libtlspool.so libtlspool.a "$(DESTDIR)$(PREFIX)/lib/"
87 @echo '# Python libraries not yet installed'
89 @echo '# You may need to run ldconfig to update the ld.so cache'
92 #DIY# @$(foreach w,$(WRAPPERS),$(MAKE) DESTDIR=$(DESTDIR) PREFIX=$(PREFIX) -C '$(w)' install && ) echo Wrappers installed for $(WRAPPERS)
96 rm -f "$(DESTDIR)$(PREFIX)/bin/libtlspool.dll"
97 rm -f "$(DESTDIR)$(PREFIX)/bin/libtlspool.lib"
98 rm -rf "$(DESTDIR)$(PREFIX)/include/tlspool/"
100 rm -f "$(DESTDIR)$(PREFIX)/lib/libtlspool.so"
101 rm -f "$(DESTDIR)$(PREFIX)/lib/libtlspool.a"
103 @echo '# Python libraries not yet removed'
106 #DIY# @$(foreach w,$(WRAPPERS),$(MAKE) DESTDIR=$(DESTDIR) PREFIX=$(PREFIX) -C '$(w)' uninstall && ) echo Wrappers uninstalled for $(WRAPPERS)