1 2# Remove NDEBUG define to trigger asserts 3CPPFLAGS+=-O2 -std=gnu++11 -I. -DNDEBUG -Wall -Wno-sign-compare -Wno-unused -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DOPENSSL 4LDFLAGS+=-levent -lstdc++ -lssl -lcrypto 5 6uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') 7ifeq ($(uname_S),DragonFly) 8 LIBEVENT_HOME=/usr/local 9 CPPFLAGS+=-I${LIBEVENT_HOME}/include 10 LDFLAGS+=-L${LIBEVENT_HOME}/lib 11endif 12ifeq ($(uname_S),FreeBSD) 13 CXX?=clang++ 14 LIBEVENT_HOME=/usr/local 15 CPPFLAGS+=-I${LIBEVENT_HOME}/include 16 LDFLAGS+=-L${LIBEVENT_HOME}/lib 17else 18 CXX?=g++ 19endif 20 21all: swift-dynamic 22 23swift: swift.o sha1.o compat.o sendrecv.o send_control.o hashtree.o bin.o binmap.o channel.o transfer.o httpgw.o statsgw.o cmdgw.o avgspeed.o avail.o storage.o zerostate.o zerohashtree.o livehashtree.o live.o api.o content.o swarmmanager.o address.o livesig.o exttrack.o 24 25swift-static: swift 26 ${CXX} ${CPPFLAGS} -o swift *.o ${LDFLAGS} -static -lrt 27 strip swift 28 touch swift-static 29 30swift-dynamic: swift 31 ${CXX} ${CPPFLAGS} -o swift *.o ${LDFLAGS} 32 touch swift-dynamic 33 34clean: 35 rm -f *.o swift swift-static swift-dynamic 2>/dev/null 36 37.PHONY: all clean swift swift-static swift-dynamic 38