mirror of
https://github.com/ZeroTier/ZeroTierOne
synced 2025-08-22 14:23:59 -07:00
allow environment variables to set/extend CC, CXX, CFLAGS and LDFLAGS
This commit is contained in:
parent
526aafc64b
commit
5505161d8b
3 changed files with 28 additions and 22 deletions
|
@ -1,5 +1,5 @@
|
||||||
CC=cc
|
CC?=cc
|
||||||
CXX=c++
|
CXX?=c++
|
||||||
|
|
||||||
INCLUDES=
|
INCLUDES=
|
||||||
DEFS=
|
DEFS=
|
||||||
|
@ -21,19 +21,21 @@ endif
|
||||||
# "make debug" is a shortcut for this
|
# "make debug" is a shortcut for this
|
||||||
ifeq ($(ZT_DEBUG),1)
|
ifeq ($(ZT_DEBUG),1)
|
||||||
# DEFS+=-DZT_TRACE -DZT_LOG_STDOUT
|
# DEFS+=-DZT_TRACE -DZT_LOG_STDOUT
|
||||||
CFLAGS=-Wall -g -pthread $(INCLUDES) $(DEFS)
|
CFLAGS+=-Wall -g -pthread $(INCLUDES) $(DEFS)
|
||||||
LDFLAGS=
|
LDFLAGS+=
|
||||||
STRIP=echo
|
STRIP=echo
|
||||||
# The following line enables optimization for the crypto code, since
|
# The following line enables optimization for the crypto code, since
|
||||||
# C25519 in particular is almost UNUSABLE in heavy testing without it.
|
# C25519 in particular is almost UNUSABLE in heavy testing without it.
|
||||||
ext/lz4/lz4.o node/Salsa20.o node/SHA512.o node/C25519.o node/Poly1305.o: CFLAGS = -Wall -O2 -g -pthread $(INCLUDES) $(DEFS)
|
ext/lz4/lz4.o node/Salsa20.o node/SHA512.o node/C25519.o node/Poly1305.o: CFLAGS?=-O2 CFLAGS+=-Wall -g -pthread $(INCLUDES) $(DEFS)
|
||||||
else
|
else
|
||||||
CFLAGS=-Wall -O3 -fPIE -fvisibility=hidden -fstack-protector -pthread $(INCLUDES) -DNDEBUG $(DEFS)
|
CFLAGS?=-O3 -fstack-protector
|
||||||
LDFLAGS=-pie -Wl,-z,relro,-z,now
|
CFLAGS+=-Wall -fPIE -fvisibility=hidden -pthread $(INCLUDES) -DNDEBUG $(DEFS)
|
||||||
|
LDFLAGS+=-pie -Wl,-z,relro,-z,now
|
||||||
STRIP=strip --strip-all
|
STRIP=strip --strip-all
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CXXFLAGS=$(CFLAGS) -fno-rtti
|
CXXFLAGS?=-fno-rtti
|
||||||
|
CXXFLAGS=$(CFLAGS)
|
||||||
|
|
||||||
all: one
|
all: one
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Pick clang or gcc, with preference for clang
|
# Pick clang or gcc, with preference for clang
|
||||||
CC=$(shell which clang gcc cc 2>/dev/null | head -n 1)
|
CC?=$(shell which clang gcc cc 2>/dev/null | head -n 1)
|
||||||
CXX=$(shell which clang++ g++ c++ 2>/dev/null | head -n 1)
|
CXX?=$(shell which clang++ g++ c++ 2>/dev/null | head -n 1)
|
||||||
|
|
||||||
INCLUDES=
|
INCLUDES=
|
||||||
DEFS=
|
DEFS=
|
||||||
|
@ -22,15 +22,16 @@ endif
|
||||||
# "make debug" is a shortcut for this
|
# "make debug" is a shortcut for this
|
||||||
ifeq ($(ZT_DEBUG),1)
|
ifeq ($(ZT_DEBUG),1)
|
||||||
# DEFS+=-DZT_TRACE -DZT_LOG_STDOUT
|
# DEFS+=-DZT_TRACE -DZT_LOG_STDOUT
|
||||||
CFLAGS=-Wall -g -pthread $(INCLUDES) $(DEFS)
|
CFLAGS+=-Wall -g -pthread $(INCLUDES) $(DEFS)
|
||||||
LDFLAGS=
|
LDFLAGS+=
|
||||||
STRIP=echo
|
STRIP=echo
|
||||||
# The following line enables optimization for the crypto code, since
|
# The following line enables optimization for the crypto code, since
|
||||||
# C25519 in particular is almost UNUSABLE in heavy testing without it.
|
# C25519 in particular is almost UNUSABLE in heavy testing without it.
|
||||||
ext/lz4/lz4.o node/Salsa20.o node/SHA512.o node/C25519.o node/Poly1305.o: CFLAGS = -Wall -O2 -g -pthread $(INCLUDES) $(DEFS)
|
ext/lz4/lz4.o node/Salsa20.o node/SHA512.o node/C25519.o node/Poly1305.o: CFLAGS?=-O2 CFLAGS+=-Wall -g -pthread $(INCLUDES) $(DEFS)
|
||||||
else
|
else
|
||||||
CFLAGS=-Wall -O3 -fPIE -fvisibility=hidden -fstack-protector -pthread $(INCLUDES) -DNDEBUG $(DEFS)
|
CFLAGS?=-O3 -fstack-protector
|
||||||
LDFLAGS=-pie -Wl,-z,relro,-z,now
|
CFLAGS+=-Wall -fPIE -fvisibility=hidden -pthread $(INCLUDES) -DNDEBUG $(DEFS)
|
||||||
|
LDFLAGS+=-pie -Wl,-z,relro,-z,now
|
||||||
STRIP=strip --strip-all
|
STRIP=strip --strip-all
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -39,7 +40,8 @@ endif
|
||||||
#LDFLAGS=
|
#LDFLAGS=
|
||||||
#STRIP=echo
|
#STRIP=echo
|
||||||
|
|
||||||
CXXFLAGS=$(CFLAGS) -fno-rtti
|
CXXFLAGS?=-fno-rtti
|
||||||
|
CXXFLAGS+=$(CFLAGS)
|
||||||
|
|
||||||
all: one
|
all: one
|
||||||
|
|
||||||
|
|
14
make-mac.mk
14
make-mac.mk
|
@ -1,5 +1,5 @@
|
||||||
CC=clang
|
CC?=clang
|
||||||
CXX=clang++
|
CXX?=clang++
|
||||||
|
|
||||||
INCLUDES=
|
INCLUDES=
|
||||||
DEFS=
|
DEFS=
|
||||||
|
@ -27,17 +27,19 @@ endif
|
||||||
|
|
||||||
ifeq ($(ZT_DEBUG),1)
|
ifeq ($(ZT_DEBUG),1)
|
||||||
# DEFS+=-DZT_TRACE -DZT_LOG_STDOUT
|
# DEFS+=-DZT_TRACE -DZT_LOG_STDOUT
|
||||||
CFLAGS=-Wall -g -pthread $(INCLUDES) $(DEFS)
|
CFLAGS+=-Wall -g -pthread $(INCLUDES) $(DEFS)
|
||||||
STRIP=echo
|
STRIP=echo
|
||||||
# The following line enables optimization for the crypto code, since
|
# The following line enables optimization for the crypto code, since
|
||||||
# C25519 in particular is almost UNUSABLE in heavy testing without it.
|
# C25519 in particular is almost UNUSABLE in heavy testing without it.
|
||||||
ext/lz4/lz4.o node/Salsa20.o node/SHA512.o node/C25519.o node/Poly1305.o: CFLAGS = -Wall -O2 -g -pthread $(INCLUDES) $(DEFS)
|
ext/lz4/lz4.o node/Salsa20.o node/SHA512.o node/C25519.o node/Poly1305.o: CFLAGS?=-O2 CFLAGS+=-Wall -g -pthread $(INCLUDES) $(DEFS)
|
||||||
else
|
else
|
||||||
CFLAGS=-arch i386 -arch x86_64 -Wall -O3 -flto -fPIE -fvectorize -fstack-protector -pthread -mmacosx-version-min=10.6 -DNDEBUG -Wno-unused-private-field $(INCLUDES) $(DEFS)
|
CFLAGS?=-O3 -fstack-protector
|
||||||
|
CFLAGS+=-arch i386 -arch x86_64 -Wall -flto -fPIE -fvectorize -pthread -mmacosx-version-min=10.6 -DNDEBUG -Wno-unused-private-field $(INCLUDES) $(DEFS)
|
||||||
STRIP=strip
|
STRIP=strip
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CXXFLAGS=$(CFLAGS) -fno-rtti
|
CXXFLAGS?=-fno-rtti
|
||||||
|
CXXFLAGS=$(CFLAGS)
|
||||||
|
|
||||||
all: one
|
all: one
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue