make-mac.mk 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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. cp -Rv ZeroTierUI/helpers "build-ZeroTierUI-release/ZeroTier One.app/Contents/Resources"
  33. # cd build-ZeroTierUI-release ; codesign -f -s '3rd Party Mac Developer Application: ZeroTier Networks LLC' "ZeroTier One.app"
  34. install-mac-tap: FORCE
  35. mkdir -p /Library/Application\ Support/ZeroTier/One
  36. rm -rf /Library/Application\ Support/ZeroTier/One/tap.kext
  37. cp -R ext/bin/tap-mac//tap.kext /Library/Application\ Support/ZeroTier/One
  38. chown -R root:wheel /Library/Application\ Support/ZeroTier/One/tap.kext
  39. clean:
  40. rm -rf *.dSYM build-* $(OBJS) zerotier-* ZeroTierOneInstaller-*
  41. FORCE: