2013-10-28 19:53:40 +00:00
CC = clang
CXX = clang++
2013-07-04 20:56:19 +00:00
2013-09-16 13:20:59 +00:00
INCLUDES =
2013-12-11 21:14:10 +00:00
DEFS =
2013-12-13 21:49:46 +00:00
LIBS =
2013-07-04 20:56:19 +00:00
2014-01-07 21:06:34 +00: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 21:14:10 +00:00
i f e q ( $( ZT_AUTO_UPDATE ) , 1 )
2013-12-31 19:22:54 +00:00
DEFS += -DZT_AUTO_UPDATE
2013-12-11 21:14:10 +00:00
e n d i f
2013-12-31 19:22:54 +00:00
# Uncomment to dump trace and log info to stdout (useful for debug/test)
#DEFS+=-DZT_TRACE -DZT_LOG_STDOUT
2013-07-04 20:56:19 +00:00
# Uncomment for a release optimized universal binary build
2013-12-17 00:56:25 +00: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 20:56:19 +00: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 20:23:48 +00:00
all : one
2013-07-04 20:56:19 +00:00
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
2013-12-04 22:44:28 +00:00
ln -sf zerotier-one zerotier-idtool
2013-07-04 20:56:19 +00:00
selftest : $( OBJS )
$( CXX) $( CXXFLAGS) -o zerotier-selftest selftest.cpp $( OBJS) $( LIBS)
$( STRIP) zerotier-selftest
2013-12-17 06:30:37 +00: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"
2014-01-01 00:26:14 +00:00
cp -Rv ZeroTierUI/helpers "build-ZeroTierUI-release/ZeroTier One.app/Contents/Resources"
2014-01-07 21:06:34 +00: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-17 06:30:37 +00:00
2013-10-28 13:34:36 +00: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 20:56:19 +00:00
clean :
2014-01-04 00:53:00 +00:00
rm -rf *.dSYM build-* $( OBJS) zerotier-* ZeroTierOneInstaller-*
2013-07-04 20:56:19 +00:00
2014-01-07 22:48:56 +00:00
official : FORCE
make -j 4 ZT_OFFICIAL_RELEASE = 1
make mac-ui ZT_OFFICIAL_RELEASE = 1
./buildinstaller.sh
2013-07-04 20:56:19 +00:00
FORCE :