1 |
DIET= |
2 |
OBJECTS=session.o queries.o parsing.o format.o objects.o libspopc.o mutex.o |
3 |
# |
4 |
# libspoopc can be built with/without some features: |
5 |
# |
6 |
# the full libspopc: with semaphres and SSL (openssl) |
7 |
VERSION=0.12rs |
8 |
CFLAGS= -Wall -Wextra -pedantic -pipe -fPIC -Os -DUSE_SSL -D_REENTRANT -DUSE_SEM |
9 |
LDFLAGS=-lssl -lcrypto -lrt |
10 |
# |
11 |
# the full libspopc: with mutexes and SSL (openssl) |
12 |
#VERSION=0.12ps |
13 |
#CFLAGS= -Wall -Wextra -pedantic -pipe -fPIC -Os -DUSE_SSL -D_REENTRANT -DUSE_PMUTEX |
14 |
#LDFLAGS=-lssl -lcrypto -lpthread |
15 |
# |
16 |
# the backward-compat non-reentrant libspopc with SSL (openssl) |
17 |
#VERSION=0.12s |
18 |
#CFLAGS= -Wall -Wextra -pedantic -pipe -fPIC -g -DUSE_SSL |
19 |
#LDFLAGS=-lssl -lcrypto |
20 |
# |
21 |
# the backward-compat non-reentrant non-SSL libspopc |
22 |
#VERSION=0.12n |
23 |
#CFLAGS= -Wall -Wextra -pedantic -pipe -fPIC -Os |
24 |
#LDFLAGS= |
25 |
# |
26 |
# info: strdup, snprintf.. are not in ANSI versions of stdio.h/string.h |
27 |
# this could be nice to conform to -ansi or to -std=iso9899:199409 |
28 |
# |
29 |
all : libspopc.a libspopc.so examples |
30 |
@echo "" |
31 |
@echo "read Makefile comments to build different flavours of libspopc" |
32 |
@echo "please also read the README file" |
33 |
# |
34 |
%.o : %.c libspopc.h |
35 |
$(DIET) $(CC) $(CFLAGS) -c $< |
36 |
# |
37 |
libspopc.a : $(OBJECTS) |
38 |
$(RM) libspopc*.a |
39 |
ar r libspopc-$(VERSION).a $(OBJECTS) |
40 |
ranlib libspopc-$(VERSION).a |
41 |
ln -s libspopc-$(VERSION).a libspopc.a |
42 |
# |
43 |
libspopc.so : $(OBJECTS) |
44 |
$(RM) libspopc*.so |
45 |
$(DIET) $(CC) -o libspopc-$(VERSION).so -shared $(OBJECTS) |
46 |
ln -s libspopc-$(VERSION).so libspopc.so |
47 |
# |
48 |
%: examples/%.c |
49 |
$(DIET) $(CC) -o $@ $(CFLAGS) $< -L. -lspopc $(LDFLAGS) |
50 |
# |
51 |
examples: libspopc.a poptest1 poptest2 butcher poptest3 |
52 |
@echo "" |
53 |
@echo "to use examples, export LD_LIBRARY_PATH=.:"'$$LD_LIBRARY_PATH' |
54 |
# |
55 |
uninstall : |
56 |
$(RM) $(DESTDIR)/usr/lib/libspopc*.a |
57 |
$(RM) $(DESTDIR)/usr/lib/libspopc*.so |
58 |
$(RM) $(DESTDIR)/usr/include/libspopc*.h |
59 |
# |
60 |
install : |
61 |
#strip libspopc.so |
62 |
install libspopc-$(VERSION).a $(DESTDIR)/usr/lib/ |
63 |
cd $(DESTDIR)/usr/lib/ && ln -f -s libspopc-$(VERSION).a libspopc.a |
64 |
install libspopc-$(VERSION).so $(DESTDIR)/usr/lib/ |
65 |
cd $(DESTDIR)/usr/lib/ && ln -f -s libspopc-$(VERSION).so libspopc.so |
66 |
install libspopc.h $(DESTDIR)/usr/include/ |
67 |
# |
68 |
clean : |
69 |
$(RM) *.o poptest* butcher* |
70 |
# |
71 |
distclean : clean |
72 |
$(RM) libspopc*.a libspopc*.so |
73 |
$(RM) *~ examples/*~ doc/*~ |
74 |
|