Build tweaks, better flag handling across makefiles
This commit is contained in:
@@ -48,7 +48,6 @@
|
||||
#if defined(LIBZT_IPV6)
|
||||
#define LWIP_IPV6 1
|
||||
#define LWIP_IPV4 0
|
||||
|
||||
#endif
|
||||
#if defined(LIBZT_IPV4)
|
||||
#define LWIP_IPV4 1
|
||||
|
||||
@@ -44,11 +44,9 @@ ifeq ($(origin CCX),default)
|
||||
CCX=$(shell if [ -e /usr/bin/clang++ ]; then echo clang++; else echo g++; fi)
|
||||
endif
|
||||
|
||||
CFLAGS=-O3 -g -Wall -DIPv4 -DIPv6 -fPIC
|
||||
CFLAGS=-O3 -g -Wall -fPIC
|
||||
|
||||
CFLAGS:=$(CFLAGS) \
|
||||
-I$(LWIPDIR)/include -I$(LWIPARCH)/include -I$(LWIPDIR)/include/ipv4 \
|
||||
-I$(LWIPDIR) -I. -Iext -Iinclude
|
||||
CFLAGS:=$(CFLAGS) -I$(LWIPDIR)/include -I$(LWIPARCH)/include -I$(LWIPDIR) -I. -Iext -Iinclude
|
||||
|
||||
# COREFILES, CORE4FILES: The minimum set of files needed for lwIP.
|
||||
COREFILES=$(LWIPDIR)/core/init.c \
|
||||
@@ -68,7 +66,6 @@ COREFILES=$(LWIPDIR)/core/init.c \
|
||||
$(LWIPDIR)/core/tcp_out.c \
|
||||
$(LWIPDIR)/core/timeouts.c \
|
||||
$(LWIPDIR)/core/udp.c
|
||||
|
||||
CORE4FILES=$(LWIPDIR)/core/ipv4/autoip.c \
|
||||
$(LWIPDIR)/core/ipv4/dhcp.c \
|
||||
$(LWIPDIR)/core/ipv4/etharp.c \
|
||||
@@ -77,7 +74,6 @@ CORE4FILES=$(LWIPDIR)/core/ipv4/autoip.c \
|
||||
$(LWIPDIR)/core/ipv4/ip4_frag.c \
|
||||
$(LWIPDIR)/core/ipv4/ip4.c \
|
||||
$(LWIPDIR)/core/ipv4/ip4_addr.c
|
||||
|
||||
CORE6FILES=$(LWIPDIR)/core/ipv6/ethip6.c \
|
||||
$(LWIPDIR)/core/ipv6/icmp6.c \
|
||||
$(LWIPDIR)/core/ipv6/inet6.c \
|
||||
@@ -87,7 +83,6 @@ CORE6FILES=$(LWIPDIR)/core/ipv6/ethip6.c \
|
||||
$(LWIPDIR)/core/ipv6/mld6.c \
|
||||
$(LWIPDIR)/core/ipv6/dhcp6.c \
|
||||
$(LWIPDIR)/core/ipv6/nd6.c
|
||||
|
||||
# APIFILES: The files which implement the sequential and socket APIs.
|
||||
APIFILES=$(LWIPDIR)/api/api_lib.c \
|
||||
$(LWIPDIR)/api/api_msg.c \
|
||||
@@ -97,30 +92,22 @@ APIFILES=$(LWIPDIR)/api/api_lib.c \
|
||||
$(LWIPDIR)/api/netifapi.c \
|
||||
$(LWIPDIR)/api/sockets.c \
|
||||
$(LWIPDIR)/api/tcpip.c
|
||||
|
||||
|
||||
# NETIFFILES: Files implementing various generic network interface functions
|
||||
NETIFFILES=$(LWIPDIR)/netif/ethernet.c
|
||||
|
||||
#
|
||||
# $(LWIPDIR)/netif/slipif.c
|
||||
|
||||
# SIXLOWPAN: 6LoWPAN
|
||||
SIXLOWPAN=$(LWIPDIR)/netif/lowpan6.c \
|
||||
|
||||
# ARCHFILES: Architecture specific files.
|
||||
ARCHFILES=$(wildcard $(LWIPARCH)/*.c $(LWIPARCH)tapif.c $(LWIPARCH)/netif/list.c $(LWIPARCH)/netif/tcpdump.c)
|
||||
|
||||
# LWIPFILES: All the above.
|
||||
LWIPFILES=$(COREFILES) $(APIFILES) $(NETIFFILES) $(ARCHFILES)
|
||||
|
||||
ifeq ($(IPV4),1)
|
||||
ifeq ($(LIBZT_IPV4),1)
|
||||
LWIPFILES+=$(CORE4FILES)
|
||||
CFLAGS+=-DLIBZT_IPV4=1
|
||||
CFLAGS+=-DLIBZT_IPV4=1 -DLWIP_IPV4 -DDLWIP_IPV6=0 -DIPv4
|
||||
endif
|
||||
ifeq ($(IPV6),1)
|
||||
ifeq ($(LIBZT_IPV6),1)
|
||||
LWIPFILES+=$(CORE6FILES)
|
||||
CFLAGS+=-DLIBZT_IPV6=1
|
||||
CFLAGS+=-DLIBZT_IPV6=1 -DLWIP_IPV6 -DLWIP_IPV4=0 -DIPv6
|
||||
endif
|
||||
|
||||
LWIPFILESW=$(wildcard $(LWIPFILES))
|
||||
@@ -136,7 +123,6 @@ clean:
|
||||
rm -f *.o *.s .depend* *.core core
|
||||
|
||||
depend dep: .depend
|
||||
|
||||
include .depend
|
||||
|
||||
liblwip.a: $(LWIPOBJS)
|
||||
|
||||
@@ -121,15 +121,15 @@ ifeq ($(STACK_PICO),1)
|
||||
ifeq ($(LIBZT_IPV4)$(LIBZT_IPV6),1)
|
||||
ifeq ($(LIBZT_IPV4),1)
|
||||
CXXFLAGS+=-DLIBZT_IPV4
|
||||
STACK_FLAGS+=-IPV4=1 -IPv4=1
|
||||
STACK_FLAGS+=IPV4=1
|
||||
endif
|
||||
ifeq ($(LIBZT_IPV6),1)
|
||||
CXXFLAGS+=-DLIBZT_IPV6
|
||||
STACK_FLAGS+=-IPV6=1 -IPv6=1
|
||||
STACK_FLAGS+=IPV6=1
|
||||
endif
|
||||
else
|
||||
CXXFLAGS+=-DLIBZT_IPV4 -DLIBZT_IPV6
|
||||
STACK_FLAGS+=-IPV6=1 -IPv6=1 -IPV6=1 -IPv6=1
|
||||
STACK_FLAGS+=IPV6=1 IPV4=1
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -137,21 +137,20 @@ endif
|
||||
ifeq ($(STACK_LWIP),1)
|
||||
ifeq ($(LIBZT_IPV4)$(LIBZT_IPV6),1)
|
||||
ifeq ($(LIBZT_IPV4),1)
|
||||
CXXFLAGS+=-DLIBZT_IPV4
|
||||
STACK_FLAGS+=IPV4=1 IPv4=1
|
||||
CXXFLAGS+=-DLIBZT_IPV4 -DLWIP_IPV4=1
|
||||
STACK_FLAGS+=LIBZT_IPV4=1
|
||||
endif
|
||||
ifeq ($(LIBZT_IPV6),1)
|
||||
CXXFLAGS+=-DLIBZT_IPV6
|
||||
STACK_FLAGS+=IPV6=1 IPv6=1
|
||||
CXXFLAGS+=-DLIBZT_IPV6 -DLWIP_IPV6=1
|
||||
STACK_FLAGS+=LIBZT_IPV6=1
|
||||
endif
|
||||
else
|
||||
CXXFLAGS+=-DLIBZT_IPV4
|
||||
STACK_FLAGS+=IPV4=1 IPv4=1
|
||||
CXXFLAGS+=-DLIBZT_IPV4 -DLWIP_IPV4=1
|
||||
STACK_FLAGS+=LIBZT_IPV4=1
|
||||
endif
|
||||
endif
|
||||
|
||||
LIBZT_FILES:=src/SocketTap.cpp src/libzt.cpp src/Utilities.cpp
|
||||
LIBZT_OBJS+=SocketTap.o libzt.o Utilities.o
|
||||
|
||||
ifeq ($(STACK_PICO),1)
|
||||
CXXFLAGS+=-DSTACK_PICO
|
||||
@@ -159,7 +158,6 @@ STACK_LIB:=libpicotcp.a
|
||||
STACK_DIR:=ext/picotcp
|
||||
STACK_LIB:=$(STACK_DIR)/build/lib/$(STACK_LIB)
|
||||
STACK_DRIVER_FILES:=src/picoTCP.cpp
|
||||
STACK_DRIVER_OBJS+=picoTCP.o
|
||||
INCLUDES+=-Iext/picotcp/include -Iext/picotcp/build/include
|
||||
endif
|
||||
|
||||
@@ -167,7 +165,6 @@ ifeq ($(STACK_LWIP),1)
|
||||
STACK_DRIVER_FLAGS+=-DLWIP_PREFIX_BYTEORDER_FUNCS
|
||||
CXXFLAGS+=-DSTACK_LWIP
|
||||
STACK_DRIVER_FILES:=src/lwIP.cpp
|
||||
STACK_DRIVER_OBJS+=lwIP.o
|
||||
LWIPARCH=$(CONTRIBDIR)/ports/unix
|
||||
LWIPDIR=ext/lwip/src
|
||||
INCLUDES+=-Iext/lwip/src/include/lwip \
|
||||
@@ -200,6 +197,7 @@ picotcp:
|
||||
cd $(STACK_DIR); make lib ARCH=shared IPV4=1 IPV6=1
|
||||
|
||||
lwip:
|
||||
echo $(STACK_FLAGSs)
|
||||
-make -f make-liblwip.mk liblwip.a $(STACK_FLAGS)
|
||||
|
||||
##############################################################################
|
||||
@@ -211,8 +209,8 @@ static_lib: picotcp $(ZTO_OBJS)
|
||||
@mkdir -p $(BUILD) obj
|
||||
$(CXX) $(CXXFLAGS) $(LIBZT_FILES) $(STACK_DRIVER_FILES) -c
|
||||
mv *.o obj
|
||||
mv ext/picotcp/build/lib/*.o obj
|
||||
mv ext/picotcp/build/modules/*.o obj
|
||||
#mv ext/picotcp/build/lib/*.o obj
|
||||
#mv ext/picotcp/build/modules/*.o obj
|
||||
ar rcs -o $(STATIC_LIB) obj/*.o $(STACK_LIB)
|
||||
endif
|
||||
ifeq ($(STACK_LWIP),1)
|
||||
@@ -258,16 +256,10 @@ tests: $(UNIT_TEST_OBJ_FILES)
|
||||
## Misc ##
|
||||
##############################################################################
|
||||
|
||||
# Cleans only current $(OSTYPE)
|
||||
clean:
|
||||
-rm -rf $(BUILD)/*
|
||||
-find . -type f \( -name '*.a' -o -name '*.o' -o -name '*.so' -o -name '*.o.d' -o -name '*.out' -o -name '*.log' -o -name '*.dSYM' \) -delete
|
||||
|
||||
# Clean everything
|
||||
nuke:
|
||||
-rm -rf $(BUILD)/*
|
||||
-find . -type f \( -name '*.o' -o -name '*.so' -o -name '*.a' -o -name '*.o.d' -o -name '*.out' -o -name '*.log' -o -name '*.dSYM' \) -delete
|
||||
|
||||
check:
|
||||
-./check.sh $(PICO_LIB)
|
||||
-./check.sh $(STATIC_LIB)
|
||||
|
||||
36
make-mac.mk
36
make-mac.mk
@@ -119,37 +119,37 @@ ifeq ($(STACK_PICO),1)
|
||||
ifeq ($(LIBZT_IPV4)$(LIBZT_IPV6),1)
|
||||
ifeq ($(LIBZT_IPV4),1)
|
||||
CXXFLAGS+=-DLIBZT_IPV4
|
||||
STACK_FLAGS+=-IPV4=1 -IPv4=1
|
||||
STACK_FLAGS+=IPV4=1
|
||||
endif
|
||||
ifeq ($(LIBZT_IPV6),1)
|
||||
CXXFLAGS+=-DLIBZT_IPV6
|
||||
STACK_FLAGS+=-IPV6=1 -IPv6=1
|
||||
STACK_FLAGS+=IPV6=1
|
||||
endif
|
||||
else
|
||||
CXXFLAGS+=-DLIBZT_IPV4 -DLIBZT_IPV6
|
||||
STACK_FLAGS+=-IPV6=1 -IPv6=1 -IPV6=1 -IPv6=1
|
||||
STACK_FLAGS+=IPV6=1 IPV4=1
|
||||
endif
|
||||
endif
|
||||
|
||||
# lwIP default protocol versions
|
||||
# Simultaneous IPV4 and IPV6 not supported by lwIP stack driver (yet)
|
||||
ifeq ($(STACK_LWIP),1)
|
||||
ifeq ($(LIBZT_IPV4)$(LIBZT_IPV6),1)
|
||||
ifeq ($(LIBZT_IPV4),1)
|
||||
CXXFLAGS+=-DLIBZT_IPV4
|
||||
STACK_FLAGS+=IPV4=1 IPv4=1
|
||||
CXXFLAGS+=-DLIBZT_IPV4 -DLWIP_IPV4=1 -DLWIP_IPV6=0
|
||||
STACK_FLAGS+=LIBZT_IPV4=1
|
||||
endif
|
||||
ifeq ($(LIBZT_IPV6),1)
|
||||
CXXFLAGS+=-DLIBZT_IPV6
|
||||
STACK_FLAGS+=IPV6=1 IPv6=1
|
||||
CXXFLAGS+=-DLIBZT_IPV6 -DLWIP_IPV6=1 -DLWIP_IPV4=0
|
||||
STACK_FLAGS+=LIBZT_IPV6=1
|
||||
endif
|
||||
else
|
||||
CXXFLAGS+=-DLIBZT_IPV4
|
||||
STACK_FLAGS+=IPV4=1 IPv4=1
|
||||
CXXFLAGS+=-DLIBZT_IPV4 -DLWIP_IPV4=1 -DLWIP_IPV6=0
|
||||
STACK_FLAGS+=LIBZT_IPV4=1
|
||||
endif
|
||||
endif
|
||||
|
||||
LIBZT_FILES:=src/SocketTap.cpp src/libzt.cpp src/Utilities.cpp
|
||||
LIBZT_OBJS+=SocketTap.o libzt.o Utilities.o
|
||||
|
||||
ifeq ($(STACK_PICO),1)
|
||||
CXXFLAGS+=-DSTACK_PICO
|
||||
@@ -157,7 +157,6 @@ STACK_LIB:=libpicotcp.a
|
||||
STACK_DIR:=ext/picotcp
|
||||
STACK_LIB:=$(STACK_DIR)/build/lib/$(STACK_LIB)
|
||||
STACK_DRIVER_FILES:=src/picoTCP.cpp
|
||||
STACK_DRIVER_OBJS+=picoTCP.o
|
||||
INCLUDES+=-Iext/picotcp/include -Iext/picotcp/build/include
|
||||
endif
|
||||
|
||||
@@ -165,7 +164,6 @@ ifeq ($(STACK_LWIP),1)
|
||||
STACK_DRIVER_FLAGS+=-DLWIP_PREFIX_BYTEORDER_FUNCS
|
||||
CXXFLAGS+=-DSTACK_LWIP
|
||||
STACK_DRIVER_FILES:=src/lwIP.cpp
|
||||
STACK_DRIVER_OBJS+=lwIP.o
|
||||
LWIPARCH=$(CONTRIBDIR)/ports/unix
|
||||
LWIPDIR=ext/lwip/src
|
||||
INCLUDES+=-Iext/lwip/src/include/lwip \
|
||||
@@ -210,8 +208,8 @@ static_lib: picotcp $(ZTO_OBJS)
|
||||
@mkdir -p $(BUILD) obj
|
||||
$(CXX) $(CXXFLAGS) $(LIBZT_FILES) $(STACK_DRIVER_FILES) -c
|
||||
mv *.o obj
|
||||
mv ext/picotcp/build/lib/*.o obj
|
||||
mv ext/picotcp/build/modules/*.o obj
|
||||
#mv ext/picotcp/build/lib/*.o obj
|
||||
#mv ext/picotcp/build/modules/*.o obj
|
||||
libtool -static -o $(STATIC_LIB) obj/*.o $(STACK_LIB)
|
||||
endif
|
||||
ifeq ($(STACK_LWIP),1)
|
||||
@@ -242,10 +240,6 @@ macos_app_framework:
|
||||
cd examples/apple/ZeroTierSDK_Apple; xcodebuild -configuration Release -scheme ZeroTierSDK_OSX build SYMROOT="../../../$(BUILD)/macos_app_framework"
|
||||
cd examples/apple/ZeroTierSDK_Apple; xcodebuild -configuration Debug -scheme ZeroTierSDK_OSX build SYMROOT="../../../$(BUILD)/macos_app_framework"
|
||||
|
||||
##############################################################################
|
||||
## Static Libraries ##
|
||||
##############################################################################
|
||||
|
||||
##############################################################################
|
||||
## Java JNI ##
|
||||
##############################################################################
|
||||
@@ -273,16 +267,10 @@ tests: $(UNIT_TEST_OBJ_FILES)
|
||||
## Misc ##
|
||||
##############################################################################
|
||||
|
||||
# Cleans only current $(OSTYPE)
|
||||
clean:
|
||||
-rm -rf $(BUILD)/*
|
||||
-find . -type f \( -name '*.a' -o -name '*.o' -o -name '*.so' -o -name '*.o.d' -o -name '*.out' -o -name '*.log' -o -name '*.dSYM' \) -delete
|
||||
|
||||
# Clean everything
|
||||
nuke:
|
||||
-rm -rf $(BUILD)/*
|
||||
-find . -type f \( -name '*.o' -o -name '*.so' -o -name '*.a' -o -name '*.o.d' -o -name '*.out' -o -name '*.log' -o -name '*.dSYM' \) -delete
|
||||
|
||||
check:
|
||||
-./check.sh $(PICO_LIB)
|
||||
-./check.sh $(STATIC_LIB)
|
||||
|
||||
@@ -51,7 +51,7 @@ struct tcp_pcb;
|
||||
struct netif;
|
||||
|
||||
#if defined(LIBZT_IPV4)
|
||||
#define LWIP_NETIF_ADD_SIG struct netif *netif, ip_addr_t *ipaddr, ip_addr_t *netmask, ip_addr_t *gw, void *state, netif_init_fn init, netif_input_fn input
|
||||
//#define LWIP_NETIF_ADD_SIG struct netif *netif, ip_addr_t *ipaddr, ip_addr_t *netmask, ip_addr_t *gw, void *state, netif_init_fn init, netif_input_fn input
|
||||
#define LWIP_ETHARP_OUTPUT_SIG struct netif *netif, struct pbuf *q, const ip4_addr_t *ipaddr
|
||||
#endif
|
||||
#if defined(LIBZT_IPV6)
|
||||
@@ -83,7 +83,6 @@ struct netif;
|
||||
#define LWIP_TCP_NEW_SIG void
|
||||
#define LWIP_TCP_RECV_SIG struct tcp_pcb * pcb, err_t (* recv)(void * arg, struct tcp_pcb * tpcb, struct pbuf * p, err_t err)
|
||||
#define LWIP_TCP_RECVED_SIG struct tcp_pcb * pcb, u16_t len
|
||||
//#define LWIP_TCP_SNDBUF_SIG struct tcp_pcb * pcb
|
||||
#define LWIP_TCP_CONNECT_SIG struct tcp_pcb * pcb, const ip_addr_t * ipaddr, u16_t port, err_t (* connected)(void * arg, struct tcp_pcb * tpcb, err_t err)
|
||||
#define LWIP_TCP_RECV_SIG struct tcp_pcb * pcb, err_t (* recv)(void * arg, struct tcp_pcb * tpcb, struct pbuf * p, err_t err)
|
||||
#define LWIP_TCP_ERR_SIG struct tcp_pcb * pcb, void (* err)(void * arg, err_t err)
|
||||
|
||||
Reference in New Issue
Block a user