2015-06-06 14:32:52 -07:00
|
|
|
CC ?= gcc
|
2015-07-06 01:11:40 +00:00
|
|
|
CFLAGS ?= -Wall -Werror -I/usr/local/include -fpic -O -g --std=c11 --pedantic-errors
|
2015-06-10 19:50:26 -07:00
|
|
|
LDFLAGS ?= -Wall -L/usr/local/lib -L. -O
|
2015-06-14 22:12:03 +00:00
|
|
|
LIBS ?= -lcurl -ljansson -luuid -lpthread
|
2015-06-06 14:32:52 -07:00
|
|
|
|
2015-06-10 19:50:26 -07:00
|
|
|
all: libcosmopolite.so
|
|
|
|
|
|
2015-06-28 11:18:05 -07:00
|
|
|
libcosmopolite.so: cosmopolite.o promise.o
|
|
|
|
|
$(CC) -shared $(LDFLAGS) -o libcosmopolite.so cosmopolite.o promise.o $(LIBS)
|
2015-06-06 14:32:52 -07:00
|
|
|
|
2015-06-10 19:50:26 -07:00
|
|
|
%.o: %.c *.h
|
2015-06-06 14:32:52 -07:00
|
|
|
$(CC) -c $(CFLAGS) $< -o $@
|
2015-06-10 19:50:26 -07:00
|
|
|
|
2015-06-28 11:18:05 -07:00
|
|
|
install: libcosmopolite.so cosmopolite.h promise.h
|
2015-06-10 19:50:26 -07:00
|
|
|
cp libcosmopolite.so /usr/local/lib
|
|
|
|
|
cp cosmopolite.h /usr/local/include
|
2015-06-28 11:18:05 -07:00
|
|
|
cp promise.h /usr/local/include
|
|
|
|
|
chown root /usr/local/lib/libcosmopolite.so /usr/local/include/cosmopolite.h /usr/local/include/promise.h
|
|
|
|
|
chmod 0644 /usr/local/lib/libcosmopolite.so /usr/local/include/cosmopolite.h /usr/local/include/promise.h
|
2015-06-10 19:50:26 -07:00
|
|
|
|
|
|
|
|
clean:
|
|
|
|
|
rm -f test libcosmopolite.so *.o
|
2015-06-14 07:39:37 +00:00
|
|
|
|
2015-06-28 11:18:05 -07:00
|
|
|
test: test.o cosmopolite.o promise.o
|
|
|
|
|
$(CC) $(LDFLAGS) -o test test.o cosmopolite.o promise.o $(LIBS)
|
2015-06-15 02:27:03 +00:00
|
|
|
|
2015-07-06 01:11:40 +00:00
|
|
|
runtest: memcheck helgrind
|
|
|
|
|
|
|
|
|
|
memcheck: test
|
2015-06-14 07:39:37 +00:00
|
|
|
valgrind --leak-check=full --show-reachable=yes --num-callers=20 --suppressions=suppressions ./test
|
2015-07-06 01:11:40 +00:00
|
|
|
|
|
|
|
|
helgrind: test
|
|
|
|
|
valgrind --tool=helgrind ./test
|