ZeroTierOne/make-linux.mk

55 lines
1.3 KiB
Makefile
Raw Normal View History

# Pick clang or gcc, with preference for clang
CC=$(shell which clang gcc cc 2>/dev/null | head -n 1)
CXX=$(shell which clang++ g++ c++ 2>/dev/null | head -n 1)
INCLUDES=
DEFS=
2013-10-01 21:19:24 +00:00
LIBS=
ifeq ($(ZT_AUTO_UPDATE),1)
2013-12-31 19:21:53 +00:00
DEFS+=-DZT_AUTO_UPDATE
endif
2013-12-31 19:21:53 +00:00
# Uncomment to dump trace and log to stdout
#DEFS+=-DZT_TRACE -DZT_LOG_STDOUT
# Uncomment for a release optimized build
CFLAGS=-Wall -O3 -fvisibility=hidden -fstack-protector -pthread $(INCLUDES) -DNDEBUG $(DEFS)
2013-10-01 21:19:24 +00:00
STRIP=strip --strip-all
# Uncomment for a debug build
2013-10-01 21:19:24 +00:00
#CFLAGS=-Wall -g -pthread $(INCLUDES) -DZT_TRACE $(DEFS)
#STRIP=echo
# Uncomment for gprof profile build
#CFLAGS=-Wall -g -pg -pthread $(INCLUDES) $(DEFS)
#STRIP=echo
CXXFLAGS=$(CFLAGS) -fno-rtti
include objects.mk
all: one
one: $(OBJS)
$(CXX) $(CXXFLAGS) -o zerotier-one main.cpp $(OBJS) $(LIBS)
$(STRIP) zerotier-one
2013-11-19 20:05:14 +00:00
ln -sf zerotier-one zerotier-cli
ln -sf zerotier-one zerotier-idtool
selftest: $(OBJS)
$(CXX) $(CXXFLAGS) -o zerotier-selftest selftest.cpp $(OBJS) $(LIBS)
$(STRIP) zerotier-selftest
idtool: $(OBJS)
$(CXX) $(CXXFLAGS) -o zerotier-idtool idtool.cpp $(OBJS) $(LIBS)
$(STRIP) zerotier-idtool
installer: one FORCE
./buildinstaller.sh
clean:
2013-11-15 16:09:26 +00:00
rm -rf $(OBJS) file2lz4c zerotier-* zt1-*-install installer-build build-ZeroTierUI-*
FORCE: