@@ -5,7 +5,8 @@ TOPDIR=$(shell pwd)
5
5
INCLUDES =-I$(shell pwd) /rustybits/target -isystem $(TOPDIR ) /ext -I$(TOPDIR ) /ext/prometheus-cpp-lite-1.0/core/include -I$(TOPDIR ) /ext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -I$(TOPDIR ) /ext/prometheus-cpp-lite-1.0/simpleapi/include
6
6
DEFS =
7
7
LIBS =
8
- ARCH_FLAGS =-arch x86_64 -arch arm64
8
+ ARCH := x86_64 arm64
9
+ ARCH_FLAGS =$(addprefix -arch ,$(ARCH ) )
9
10
10
11
CODESIGN =echo
11
12
PRODUCTSIGN =echo
@@ -58,7 +59,7 @@ ifeq ($(ZT_CONTROLLER),1)
58
59
MACOS_VERSION_MIN=10.15
59
60
override CXXFLAGS=$(CFLAGS) -std=c++17 -stdlib=libc++
60
61
LIBS+=-L/opt/homebrew/lib -L/usr/local/opt/libpqxx/lib -L/usr/local/opt/libpq/lib -L/usr/local/opt/openssl/lib/ -lpqxx -lpq -lssl -lcrypto -lgssapi_krb5 ext/redis-plus-plus-1.1.1/install/macos/lib/libredis++.a ext/hiredis-0.14.1/lib/macos/libhiredis.a rustybits/target/libsmeeclient.a
61
- DEFS+=-DZT_CONTROLLER_USE_LIBPQ -DZT_CONTROLLER_USE_REDIS -DZT_CONTROLLER
62
+ DEFS+=-DZT_CONTROLLER_USE_LIBPQ -DZT_CONTROLLER_USE_REDIS -DZT_CONTROLLER
62
63
INCLUDES+=-I/opt/homebrew/include -I/opt/homebrew/opt/libpq/include -I/usr/local/opt/libpq/include -I/usr/local/opt/libpqxx/include -Iext/hiredis-0.14.1/include/ -Iext/redis-plus-plus-1.1.1/install/macos/include/sw/ -Irustybits/target/
63
64
else
64
65
MACOS_VERSION_MIN=10.13
74
75
# Debug mode -- dump trace output, build binary with -g
75
76
ifeq ($(ZT_DEBUG ) ,1)
76
77
ZT_TRACE=1
78
+ ARCH=
77
79
ARCH_FLAGS=
78
80
CFLAGS+=-Wall -g $(INCLUDES) $(DEFS) $(ARCH_FLAGS)
79
81
STRIP=echo
@@ -113,12 +115,12 @@ mac-agent: FORCE
113
115
$(CODESIGN ) -f --options=runtime -s $(CODESIGN_APP_CERT ) MacEthernetTapAgent
114
116
115
117
osdep/MacDNSHelper.o : osdep/MacDNSHelper.mm
116
- $(CXX ) $(CXXFLAGS ) -c osdep/MacDNSHelper.mm -o osdep/MacDNSHelper.o
118
+ $(CXX ) $(CXXFLAGS ) -c osdep/MacDNSHelper.mm -o osdep/MacDNSHelper.o
117
119
118
120
ifeq ($(ZT_CONTROLLER ) ,1)
119
- one : zeroidc smeeclient $(CORE_OBJS ) $(ONE_OBJS ) one.o mac-agent
121
+ one : zeroidc smeeclient $(CORE_OBJS ) $(ONE_OBJS ) one.o mac-agent
120
122
else
121
- one : zeroidc $(CORE_OBJS ) $(ONE_OBJS ) one.o mac-agent
123
+ one : zeroidc $(CORE_OBJS ) $(ONE_OBJS ) one.o mac-agent
122
124
endif
123
125
$(CXX) $(CXXFLAGS) -o zerotier-one $(CORE_OBJS) $(ONE_OBJS) one.o $(LIBS) rustybits/target/libzeroidc.a
124
126
# $(STRIP) zerotier-one
@@ -140,12 +142,12 @@ rustybits/target/libsmeeclient.a: FORCE
140
142
endif
141
143
142
144
rustybits/target/libzeroidc.a : FORCE
143
- cd rustybits && MACOSX_DEPLOYMENT_TARGET=$(MACOS_VERSION_MIN ) cargo build -p zeroidc --target=x86_64-apple-darwin $(EXTRA_CARGO_FLAGS )
144
- cd rustybits && MACOSX_DEPLOYMENT_TARGET=$(MACOS_VERSION_MIN ) cargo build -p zeroidc --target=aarch64-apple-darwin $(EXTRA_CARGO_FLAGS )
145
- cd rustybits && lipo -create target/x86_64-apple-darwin/ $( RUST_VARIANT ) /libzeroidc.a target/aarch64-apple-darwin /$(RUST_VARIANT ) /libzeroidc.a -output target/libzeroidc.a
145
+ if [[ " $( ARCH ) " == * " x86_64 " * ]] ; then cd rustybits && MACOSX_DEPLOYMENT_TARGET=$( MACOS_VERSION_MIN) cargo build -p zeroidc --target=x86_64-apple-darwin $( EXTRA_CARGO_FLAGS) ; fi
146
+ if [[ " $( ARCH ) " == * " arm64 " * ]] ; then cd rustybits && MACOSX_DEPLOYMENT_TARGET=$( MACOS_VERSION_MIN) cargo build -p zeroidc --target=aarch64-apple-darwin $( EXTRA_CARGO_FLAGS) ; fi
147
+ cd rustybits && lipo -create target/* /$(RUST_VARIANT ) /libzeroidc.a -output target/libzeroidc.a
146
148
147
149
central-controller :
148
- make ARCH_FLAGS= " -arch x86_64" ZT_CONTROLLER=1 one
150
+ make ARCH= x86_64 ZT_CONTROLLER=1 one
149
151
150
152
zerotier-idtool : one
151
153
@@ -210,11 +212,11 @@ central-controller-docker: _buildx FORCE
210
212
211
213
centralv2-controller-docker : _buildx FORCE
212
214
docker buildx build --platform linux/amd64,linux/arm64 --no-cache -t us-central1-docker.pkg.dev/zerotier-d648c7/central-v2/ztcentral-controller:${TIMESTAMP} -f ext/central-controller-docker/Dockerfile --build-arg git_branch=` git name-rev --name-only HEAD` . --push
213
- @echo Image: us-central1-docker.pkg.dev/zerotier-d648c7/central-v2/ztcentral-controller:${TIMESTAMP}
215
+ @echo Image: us-central1-docker.pkg.dev/zerotier-d648c7/central-v2/ztcentral-controller:${TIMESTAMP}
214
216
215
217
docker-release : _buildx
216
218
docker buildx build --platform linux/386,linux/amd64,linux/arm/v7,linux/arm64,linux/mips64le,linux/ppc64le,linux/s390x -t zerotier/zerotier:${RELEASE_DOCKER_TAG} -t zerotier/zerotier:latest --build-arg VERSION=${RELEASE_VERSION} -f Dockerfile.release . --push
217
-
219
+
218
220
clean :
219
221
rm -rf MacEthernetTapAgent * .dSYM build-* * .a * .pkg * .dmg * .o node/* .o controller/* .o service/* .o osdep/* .o ext/http-parser/* .o $(CORE_OBJS ) $(ONE_OBJS ) zerotier-one zerotier-idtool zerotier-selftest zerotier-cli zerotier doc/node_modules zt1_update_$(ZT_BUILD_PLATFORM ) _$(ZT_BUILD_ARCHITECTURE ) _* rustybits/target/
220
222
0 commit comments