make-mac.mk 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. CC=clang
  2. CXX=clang++
  3. INCLUDES=
  4. DEFS=
  5. LIBS=
  6. ifeq ($(ZT_AUTO_UPDATE),1)
  7. DEFS+=-DZT_AUTO_UPDATE
  8. endif
  9. # Uncomment to dump trace and log info to stdout (useful for debug/test)
  10. #DEFS+=-DZT_TRACE -DZT_LOG_STDOUT
  11. # Uncomment for a release optimized universal binary build
  12. CFLAGS=-arch i386 -arch x86_64 -Wall -O4 -fstack-protector -pthread -mmacosx-version-min=10.6 -DNDEBUG -Wno-unused-private-field $(INCLUDES) $(DEFS)
  13. STRIP=strip
  14. # Uncomment for a debug build
  15. #CFLAGS=-Wall -g -pthread -DZT_TRACE -DZT_LOG_STDOUT $(INCLUDES) $(DEFS)
  16. #STRIP=echo
  17. CXXFLAGS=$(CFLAGS) -fno-rtti
  18. include objects.mk
  19. all: one
  20. one: $(OBJS)
  21. $(CXX) $(CXXFLAGS) -o zerotier-one main.cpp $(OBJS) $(LIBS)
  22. $(STRIP) zerotier-one
  23. ln -sf zerotier-one zerotier-cli
  24. ln -sf zerotier-one zerotier-idtool
  25. selftest: $(OBJS)
  26. $(CXX) $(CXXFLAGS) -o zerotier-selftest selftest.cpp $(OBJS) $(LIBS)
  27. $(STRIP) zerotier-selftest
  28. mac-ui: FORCE
  29. mkdir -p build-ZeroTierUI-release
  30. cd build-ZeroTierUI-release ; ../../Qt/bin/qmake ../ZeroTierUI/ZeroTierUI.pro ; make -j 4
  31. strip "build-ZeroTierUI-release/ZeroTier One.app/Contents/MacOS/ZeroTier One"
  32. install-mac-tap: FORCE
  33. mkdir -p /Library/Application\ Support/ZeroTier/One
  34. rm -rf /Library/Application\ Support/ZeroTier/One/tap.kext
  35. cp -R ext/bin/tap-mac//tap.kext /Library/Application\ Support/ZeroTier/One
  36. chown -R root:wheel /Library/Application\ Support/ZeroTier/One/tap.kext
  37. file2lz4c: ext/lz4/lz4hc.o FORCE
  38. $(CXX) $(CXXFLAGS) -o file2lz4c file2lz4c.cpp node/Utils.cpp node/Salsa20.cpp ext/lz4/lz4hc.o
  39. clean:
  40. rm -rf *.dSYM build-ZeroTierUI-* $(OBJS) file2lz4c zerotier-* installer-build zt1-*-install
  41. FORCE: