CC=gcc CXX=g++ INCLUDES=-Iext/bin/libcrypto/include -Iext/jsoncpp/include DEFS=-DZT_ARCH="x86_combined" -DZT_OSNAME="mac" -DZT_TRACE # Uncomment for a release optimized universal binary build CFLAGS=-arch i386 -arch x86_64 -Wall -O3 -ftree-vectorize -fstack-protector -pthread -mmacosx-version-min=10.6 -DNDEBUG $(INCLUDES) $(DEFS) STRIP=strip # Uncomment for a debug build #CFLAGS=-Wall -g -pthread -DZT_TRACE -DZT_LOG_STDOUT $(INCLUDES) $(DEFS) #STRIP=echo CXXFLAGS=$(CFLAGS) -fno-rtti LIBS=-lcrypto -ldl include objects.mk all: one cli launcher mac-tap one: $(OBJS) $(CXX) $(CXXFLAGS) -o zerotier-one main.cpp $(OBJS) $(LIBS) $(STRIP) zerotier-one cli: $(OBJS) $(CXX) $(CXXFLAGS) -o zerotier-cli cli.cpp $(OBJS) $(LIBS) $(STRIP) zerotier-cli 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 packtool: $(OBJS) $(CXX) $(CXXFLAGS) -o zerotier-packtool packtool.cpp $(OBJS) $(LIBS) $(STRIP) zerotier-packtool mac-tap: FORCE cd mac-tap/tuntap ; make tap.kext install-mac-tap: FORCE mkdir -p /Library/Application\ Support/ZeroTier/One rm -rf /Library/Application\ Support/ZeroTier/One/tap.kext cp -R mac-tap/tuntap/tap.kext /Library/Application\ Support/ZeroTier/One chown -R root:wheel /Library/Application\ Support/ZeroTier/One/tap.kext launcher: FORCE $(CC) -Os -arch i386 -arch x86_64 -o zerotier-launcher launcher.c $(STRIP) zerotier-launcher launcher-fakebin: $(CC) $(CFLAGS) -DZEROTIER_FAKE_VERSION_MAJOR=1 -DZEROTIER_FAKE_VERSION_MINOR=2 -DZEROTIER_FAKE_VERSION_REV $(CC) $(CFLAGS) -DZEROTIER_FAKE_VERSION_MAJOR=1 -DZEROTIER_FAKE_VERSION_MINOR=2 -DZEROTIER_FAKE_VERSION_REV clean: rm -rf *.dSYM rm -f $(OBJS) zerotier-* cd mac-tap/tuntap ; make clean FORCE: