2013-10-28 15:53:40 -04:00
CC = clang
CXX = clang++
2013-07-04 16:56:19 -04:00
2013-09-16 09:20:59 -04:00
INCLUDES =
2013-12-11 13:14:10 -08:00
DEFS =
2013-12-13 13:49:46 -08:00
LIBS =
2013-07-04 16:56:19 -04:00
2014-01-07 13:06:34 -08:00
# Disable codesign since open source users will not have ZeroTier's ADC certs
CODESIGN = echo
i f e q ( $( ZT_OFFICIAL_RELEASE ) , 1 )
ZT_AUTO_UPDATE = 1
DEFS += -DZT_OFFICIAL_RELEASE
CODESIGN = codesign
e n d i f
2013-12-11 13:14:10 -08:00
i f e q ( $( ZT_AUTO_UPDATE ) , 1 )
2013-12-31 11:22:54 -08:00
DEFS += -DZT_AUTO_UPDATE
2013-12-11 13:14:10 -08:00
e n d i f
2013-12-31 11:22:54 -08:00
# Uncomment to dump trace and log info to stdout (useful for debug/test)
#DEFS+=-DZT_TRACE -DZT_LOG_STDOUT
2013-07-04 16:56:19 -04:00
# Uncomment for a release optimized universal binary build
2013-12-16 16:56:25 -08:00
CFLAGS = -arch i386 -arch x86_64 -Wall -O4 -fstack-protector -pthread -mmacosx-version-min= 10.6 -DNDEBUG -Wno-unused-private-field $( INCLUDES) $( DEFS)
2013-07-04 16:56:19 -04:00
STRIP = strip
# Uncomment for a debug build
#CFLAGS=-Wall -g -pthread -DZT_TRACE -DZT_LOG_STDOUT $(INCLUDES) $(DEFS)
#STRIP=echo
CXXFLAGS = $( CFLAGS) -fno-rtti
i n c l u d e o b j e c t s . m k
2013-11-08 15:23:48 -05:00
all : one
2013-07-04 16:56:19 -04:00
one : $( OBJS )
$( CXX) $( CXXFLAGS) -o zerotier-one main.cpp $( OBJS) $( LIBS)
$( STRIP) zerotier-one
2013-11-19 15:05:14 -05:00
ln -sf zerotier-one zerotier-cli
2013-12-04 14:44:28 -08:00
ln -sf zerotier-one zerotier-idtool
2013-07-04 16:56:19 -04:00
selftest : $( OBJS )
$( CXX) $( CXXFLAGS) -o zerotier-selftest selftest.cpp $( OBJS) $( LIBS)
$( STRIP) zerotier-selftest
2013-12-16 22:30:37 -08:00
mac-ui : FORCE
mkdir -p build-ZeroTierUI-release
cd build-ZeroTierUI-release ; ../../Qt/bin/qmake ../ZeroTierUI/ZeroTierUI.pro ; make -j 4
strip "build-ZeroTierUI-release/ZeroTier One.app/Contents/MacOS/ZeroTier One"
2013-12-31 16:26:14 -08:00
cp -Rv ZeroTierUI/helpers "build-ZeroTierUI-release/ZeroTier One.app/Contents/Resources"
2014-01-07 13:06:34 -08:00
$( CODESIGN) -f -s '3rd Party Mac Developer Application: ZeroTier Networks LLC' "build-ZeroTierUI-release/ZeroTier One.app/Contents/Resources/helpers/mac/ZeroTier One (Authenticate).app"
$( CODESIGN) -f -s '3rd Party Mac Developer Application: ZeroTier Networks LLC' "build-ZeroTierUI-release/ZeroTier One.app/Contents/Resources/helpers/mac/ZeroTier One (Install).app"
$( CODESIGN) -f -s '3rd Party Mac Developer Application: ZeroTier Networks LLC' "build-ZeroTierUI-release/ZeroTier One.app"
$( CODESIGN) -vvv "build-ZeroTierUI-release/ZeroTier One.app/Contents/Resources/helpers/mac/ZeroTier One (Authenticate).app"
$( CODESIGN) -vvv "build-ZeroTierUI-release/ZeroTier One.app/Contents/Resources/helpers/mac/ZeroTier One (Install).app"
$( CODESIGN) -vvv "build-ZeroTierUI-release/ZeroTier One.app"
2013-12-16 22:30:37 -08:00
2013-10-28 09:34:36 -04:00
install-mac-tap : FORCE
mkdir -p /Library/Application\ Support/ZeroTier/One
rm -rf /Library/Application\ Support/ZeroTier/One/tap.kext
cp -R ext/bin/tap-mac//tap.kext /Library/Application\ Support/ZeroTier/One
chown -R root:wheel /Library/Application\ Support/ZeroTier/One/tap.kext
2013-07-04 16:56:19 -04:00
clean :
2014-01-03 16:53:00 -08:00
rm -rf *.dSYM build-* $( OBJS) zerotier-* ZeroTierOneInstaller-*
2013-07-04 16:56:19 -04:00
2014-01-07 14:48:56 -08:00
official : FORCE
make -j 4 ZT_OFFICIAL_RELEASE = 1
make mac-ui ZT_OFFICIAL_RELEASE = 1
./buildinstaller.sh
2013-07-04 16:56:19 -04:00
FORCE :