diff --git a/Tuprules.tup b/Tuprules.tup index c2bed0982..3531f0578 100644 --- a/Tuprules.tup +++ b/Tuprules.tup @@ -71,7 +71,8 @@ export PKG_CONFIG_PATH PKG_CONFIG_DIR = $(DEV_DIR)/lib/pkgconfig PKG_CONFIG = PKG_CONFIG_PATH=$(PKG_CONFIG_DIR):$PKG_CONFIG_PATH pkg-config -DEFINES += -g +CFLAGS += -g +CXXFLAGS += -g ifdef OLEVEL OLEVEL = @(OLEVEL) @@ -79,13 +80,13 @@ else OLEVEL = -O0 endif -!ir = | $(GENODE_DIR)/ |> clang $(OLEVEL) $(DEFINES) $(CXXFLAGS) $(CXXFLAGS_%e) $(CXXFLAGS_%f) `$(PKG_CONFIG) --cflags $(LIBS)` $(INCLUDES) -S -emit-llvm %f |> %B.ll +!ir = | $(GENODE_DIR)/ |> clang $(OLEVEL) $(CXXFLAGS) $(CXXFLAGS_%e) $(CXXFLAGS_%f) `$(PKG_CONFIG) --cflags $(LIBS)` $(CPPFLAGS) -S -emit-llvm %f |> %B.ll -!asm = |> ^ CC %b^ @(CC_WRAPPER) $(CC) $(OLEVEL) $(DEFINES) $(CFLAGS) $(CFLAGS_%e) $(CFLAGS_%f) -D__ASSEMBLY__ $(INCLUDES) -c %f -o %o |> %B.o +!asm = |> ^ CC %b^ @(CC_WRAPPER) $(CC) $(OLEVEL) $(CFLAGS) $(CFLAGS_%e) $(CFLAGS_%f) -D__ASSEMBLY__ $(CPPFLAGS) -c %f -o %o |> %B.o -!cc = | $(GENODE_DIR)/ |> ^o CC %f^ @(CC_WRAPPER) $(CC) $(OLEVEL) $(DEFINES) $(CFLAGS) $(CFLAGS_%e) $(CFLAGS_%f) $(INCLUDES) `$(PKG_CONFIG) --cflags $(LIBS) $(LIBS_CFLAGS)` -c -fPIC %f -o %o |> %B.o +!cc = | $(GENODE_DIR)/ |> ^o CC %f^ @(CC_WRAPPER) $(CC) $(OLEVEL) $(CFLAGS) $(CFLAGS_%e) $(CFLAGS_%f) $(CPPFLAGS) `$(PKG_CONFIG) --cflags $(LIBS) $(LIBS_CFLAGS)` -c -fPIC %f -o %o |> %B.o -!cxx = | $(GENODE_DIR)/ |> ^o CXX %b^ @(CC_WRAPPER) $(CXX) $(OLEVEL) $(DEFINES) $(CXXFLAGS) $(CXXFLAGS_%e) $(CXXFLAGS_%f) $(INCLUDES) `$(PKG_CONFIG) --cflags $(LIBS)` -c -fPIC %f -o %o |> %B.o +!cxx = | $(GENODE_DIR)/ |> ^o CXX %b^ @(CC_WRAPPER) $(CXX) $(OLEVEL) $(CXXFLAGS) $(CXXFLAGS_%e) $(CXXFLAGS_%f) $(CPPFLAGS) `$(PKG_CONFIG) --cflags $(LIBS)` -c -fPIC %f -o %o |> %B.o !ld = | $(GENODE_DIR)/ $(GENODE_DIR)/ |> ^o LD %o^ $(LD) $(LDFLAGS) `$(PKG_CONFIG) --libs $(LIBS)` --whole-archive --start-group %f --no-whole-archive --end-group -o %o |> diff --git a/repos/base-linux/src/Tuprules.tup b/repos/base-linux/src/Tuprules.tup index 24ff01a2a..1f2ea88c8 100644 --- a/repos/base-linux/src/Tuprules.tup +++ b/repos/base-linux/src/Tuprules.tup @@ -2,6 +2,6 @@ ifndef LINUX_HEADERS error CONFIG_LINUX_HEADERS not defined endif -INCLUDES += -I$(TUP_CWD)/include -INCLUDES += -I$(BASE_DIR)/src/include -INCLUDES += -I@(LINUX_HEADERS)/include +CPPFLAGS += -I$(TUP_CWD)/include +CPPFLAGS += -I$(BASE_DIR)/src/include +CPPFLAGS += -I@(LINUX_HEADERS)/include diff --git a/repos/base-linux/src/core/Tupfile b/repos/base-linux/src/core/Tupfile index 1d4ca3f2c..8d7a1959a 100644 --- a/repos/base-linux/src/core/Tupfile +++ b/repos/base-linux/src/core/Tupfile @@ -2,9 +2,9 @@ include_rules GEN_CORE_DIR = $(BASE_DIR)/src/core -DEFINES += -D_GNU_SOURCE +CPPFLAGS += -D_GNU_SOURCE -INCLUDES += \ +CPPFLAGS += \ -I$(REP_DIR)/src/core/include \ -I$(GEN_CORE_DIR)/include \ diff --git a/repos/base-linux/src/lib/base/Tupfile b/repos/base-linux/src/lib/base/Tupfile index 42f1cba39..103ad5477 100644 --- a/repos/base-linux/src/lib/base/Tupfile +++ b/repos/base-linux/src/lib/base/Tupfile @@ -1,6 +1,6 @@ include_rules -INCLUDES += -I$(REP_DIR)/src/lib/syscall +CPPFLAGS += -I$(REP_DIR)/src/lib/syscall BASE_LIB_DIR = $(BASE_DIR)/src/lib/base diff --git a/repos/base-linux/src/lib/ld/Tupfile b/repos/base-linux/src/lib/ld/Tupfile index a43b3d4ec..340f77a81 100644 --- a/repos/base-linux/src/lib/ld/Tupfile +++ b/repos/base-linux/src/lib/ld/Tupfile @@ -1,7 +1,7 @@ include_rules ifeq (@(TUP_ARCH),x86_64) - INCLUDES += -I$(BASE_DIR)/src/lib/ldso/spec/x86_64 + CPPFLAGS += -I$(BASE_DIR)/src/lib/ldso/spec/x86_64 endif LDSO_DIR = $(BASE_DIR)/src/lib/ldso @@ -10,10 +10,8 @@ ifeq (@(TUP_ARCH),x86_64) LDSO_SPEC_DIR = $(LDSO_DIR)/spec/x86_64 endif -INCLUDES += -I$(LDSO_SPEC_DIR) -INCLUDES = -I$(LDSO_DIR)/include $(INCLUDES) - -DEFINES += -fPIC +CPPFLAGS += -I$(LDSO_SPEC_DIR) +CPPFLAGS = -I$(LDSO_DIR)/include $(CPPFLAGS) : foreach $(LDSO_DIR)/*.cc |> !cxx |> {obj} : foreach $(LDSO_SPEC_DIR)/*.s |> !asm |> {obj} diff --git a/repos/base-linux/src/lib/lx_hybrid/Tupfile b/repos/base-linux/src/lib/lx_hybrid/Tupfile index f8376acf1..f833fb3f9 100644 --- a/repos/base-linux/src/lib/lx_hybrid/Tupfile +++ b/repos/base-linux/src/lib/lx_hybrid/Tupfile @@ -1,6 +1,6 @@ include_rules -INCLUDES += -I$(REP_DIR)/src/lib/syscall +CPPFLAGS += -I$(REP_DIR)/src/lib/syscall : foreach *.cc $(BASE_DIR)/src/lib/cxx/new_delete.cc |> !cxx |> {obj} : foreach *.c |> !cc |> {obj} diff --git a/repos/base-linux/src/timer/linux/Tupfile b/repos/base-linux/src/timer/linux/Tupfile index 499742197..a8608bb81 100644 --- a/repos/base-linux/src/timer/linux/Tupfile +++ b/repos/base-linux/src/timer/linux/Tupfile @@ -5,11 +5,11 @@ BASE_TIMER_DIR = $(BASE_DIR)/src/timer PERIODIC_DIR = $(BASE_TIMER_DIR)/periodic -INCLUDES += -I$(BASE_TIMER_DIR)/include -INCLUDES += -I$(PERIODIC_DIR) -INCLUDES += -I$(REP_DIR)/src/lib/syscall +CPPFLAGS += -I$(BASE_TIMER_DIR)/include +CPPFLAGS += -I$(PERIODIC_DIR) +CPPFLAGS += -I$(REP_DIR)/src/lib/syscall -INCLUDES = -I. $(INCLUDES) +CPPFLAGS = -I. $(CPPFLAGS) #TODO: ^ FAIL : foreach $(BASE_TIMER_DIR)/*.cc |> !cxx |> %B.linux.o {obj} diff --git a/repos/base-nova/Tuprules.tup b/repos/base-nova/Tuprules.tup index 7f19d025f..7728c4dd1 100644 --- a/repos/base-nova/Tuprules.tup +++ b/repos/base-nova/Tuprules.tup @@ -1,12 +1,12 @@ ifeq (@(TUP_ARCH),x86_32) - INCLUDES += -I$(TUP_CWD)/include/spec/64bit + CPPFLAGS += -I$(TUP_CWD)/include/spec/64bit endif ifeq (@(TUP_ARCH),x86_64) - INCLUDES += -I$(TUP_CWD)/include/spec/64bit + CPPFLAGS += -I$(TUP_CWD)/include/spec/64bit endif -INCLUDES += -I$(TUP_CWD)/include +CPPFLAGS += -I$(TUP_CWD)/include include &(BASE_DIR)/Tuprules.tup REP_DIR = $(TUP_CWD) diff --git a/repos/base-nova/src/Tuprules.tup b/repos/base-nova/src/Tuprules.tup index b3cb0d6c0..fc6f26223 100644 --- a/repos/base-nova/src/Tuprules.tup +++ b/repos/base-nova/src/Tuprules.tup @@ -1 +1 @@ -INCLUDES = -I$(TUP_CWD)/include -I$(BASE_DIR)/src/include $(INCLUDES) +CPPFLAGS = -I$(TUP_CWD)/include -I$(BASE_DIR)/src/include $(CPPFLAGS) diff --git a/repos/base-nova/src/core/Tupfile b/repos/base-nova/src/core/Tupfile index c6902a784..9ff9c68ce 100644 --- a/repos/base-nova/src/core/Tupfile +++ b/repos/base-nova/src/core/Tupfile @@ -1,7 +1,7 @@ include_rules GEN_CORE_DIR = $(BASE_DIR)/src/core -INCLUDES += \ +CPPFLAGS += \ -I$(TUP_CWD)/include \ -I$(GEN_CORE_DIR)/include \ diff --git a/repos/base-nova/src/lib/ld/Tupfile b/repos/base-nova/src/lib/ld/Tupfile index f2b5db802..ec7eb7826 100644 --- a/repos/base-nova/src/lib/ld/Tupfile +++ b/repos/base-nova/src/lib/ld/Tupfile @@ -1,5 +1,5 @@ include_rules -INCLUDES += -I$(BASE_DIR)/src/include +CPPFLAGS += -I$(BASE_DIR)/src/include LDSO_DIR = $(BASE_DIR)/src/lib/ldso @@ -7,10 +7,8 @@ ifeq (@(TUP_ARCH),x86_64) LDSO_SPEC_DIR = $(LDSO_DIR)/spec/x86_64 endif -INCLUDES += -I$(LDSO_SPEC_DIR) -INCLUDES += -I$(LDSO_DIR)/include - -DEFINES += -fPIC +CPPFLAGS += -I$(LDSO_SPEC_DIR) +CPPFLAGS += -I$(LDSO_DIR)/include : foreach $(LDSO_DIR)/*.cc |> !cxx |> {obj} : foreach $(LDSO_SPEC_DIR)/*.s |> !asm |> {obj} diff --git a/repos/base-nova/src/timer/nova/Tupfile b/repos/base-nova/src/timer/nova/Tupfile index ae61efbd3..a99741494 100644 --- a/repos/base-nova/src/timer/nova/Tupfile +++ b/repos/base-nova/src/timer/nova/Tupfile @@ -3,8 +3,8 @@ include_rules BASE_TIMER_DIR = $(BASE_DIR)/src/timer -INCLUDES += -I$(BASE_TIMER_DIR)/include -INCLUDES += -I. +CPPFLAGS += -I$(BASE_TIMER_DIR)/include +CPPFLAGS += -I. #TODO: ^ FAIL : foreach *.cc $(BASE_TIMER_DIR)/*.cc |> !cxx |> %B.nova.o {obj} diff --git a/repos/base/Tuprules.tup b/repos/base/Tuprules.tup index 59780bbec..6a8525703 100644 --- a/repos/base/Tuprules.tup +++ b/repos/base/Tuprules.tup @@ -1,50 +1,46 @@ REP_DIR = $(TUP_CWD) ifeq (@(TUP_ARCH),i386) -INCLUDES += -I$(BASE_DIR)/include/spec/x86_32 -INCLUDES += -I$(BASE_DIR)/include/spec/x86 -INCLUDES += -I$(BASE_DIR)/include/spec/32bit +CPPFLAGS += -I$(BASE_DIR)/include/spec/x86_32 +CPPFLAGS += -I$(BASE_DIR)/include/spec/x86 +CPPFLAGS += -I$(BASE_DIR)/include/spec/32bit endif ifeq (@(TUP_ARCH),x86_64) -INCLUDES += -I$(BASE_DIR)/include/spec/x86_64 -INCLUDES += -I$(BASE_DIR)/include/spec/x86 -INCLUDES += -I$(BASE_DIR)/include/spec/64bit +CPPFLAGS += -I$(BASE_DIR)/include/spec/x86_64 +CPPFLAGS += -I$(BASE_DIR)/include/spec/x86 +CPPFLAGS += -I$(BASE_DIR)/include/spec/64bit endif ifeq (@(TUP_ARCH),arm64) -INCLUDES += -I$(BASE_DIR)/include/spec/arm_64 -INCLUDES += -I$(BASE_DIR)/include/spec/64bit +CPPFLAGS += -I$(BASE_DIR)/include/spec/arm_64 +CPPFLAGS += -I$(BASE_DIR)/include/spec/64bit endif -INCLUDES += -I$(BASE_DIR)/include +CPPFLAGS += -I$(BASE_DIR)/include # Override base macros to bypass pkg-config -DEFINES += \ +CXXFLAGS += \ -ffunction-sections \ -fno-strict-aliasing \ - -fPIC \ - -g \ -nostdinc \ -Wall \ - -CXXFLAGS += \ -std=gnu++17 \ GCC_INCLUDE = -I`$(CC) -print-file-name=include` !cc = |> ^ COMPILE %b^ \ - @(CC_WRAPPER) $(CC) $(DEFINES) $(OLEVEL) \ + @(CC_WRAPPER) $(CC) $(OLEVEL) -fPIC \ $(CFLAGS) $(CFLAGS_%e) $(CFLAGS_%f) \ - $(INCLUDES) $(GCC_INCLUDE) $(CC_MARCH) \ + $(CPPFLAGS) $(GCC_INCLUDE) $(CC_MARCH) \ -c %f -o %o \ |> %B.o !cxx = |> ^ COMPILE %b^ \ - @(CC_WRAPPER) $(CXX) $(DEFINES) $(OLEVEL) \ + @(CC_WRAPPER) $(CXX) $(OLEVEL) -fPIC \ $(CXXFLAGS) $(CXXFLAGS_%e) $(CXXFLAGS_%f) \ - $(INCLUDES) $(GCC_INCLUDE) $(CC_MARCH) \ + $(CPPFLAGS) $(GCC_INCLUDE) $(CC_MARCH) \ -c %f -o %o \ |> %B.o diff --git a/repos/base/src/Tuprules.tup b/repos/base/src/Tuprules.tup index 099a50f28..9affdecbd 100644 --- a/repos/base/src/Tuprules.tup +++ b/repos/base/src/Tuprules.tup @@ -1 +1 @@ -INCLUDES += -I$(REP_DIR)/src/include +CPPFLAGS += -I$(REP_DIR)/src/include diff --git a/repos/base/src/lib/cxx/Tupfile b/repos/base/src/lib/cxx/Tupfile index 5e8d346ca..a339eb0e9 100644 --- a/repos/base/src/lib/cxx/Tupfile +++ b/repos/base/src/lib/cxx/Tupfile @@ -16,11 +16,13 @@ endif include_rules -DEFINES = -ffunction-sections -fno-strict-aliasing -g -fPIC - # drop the standard defines to avoid -nostdinc +COMMON_FLAGS = -ffunction-sections -fno-strict-aliasing -INCLUDES += -I@(LIBCXX)/include/c++/v1 -INCLUDES += -I@(LIBCXXABI)/include +CFLAGS += $(COMMON_FLAGS) +CXXFLAGS += $(COMMON_FLAGS) + +CPPFLAGS += -I@(LIBCXX)/include/c++/v1 +CPPFLAGS += -I@(LIBCXXABI)/include LLVM_LIBS += @(LIBCXXABI)/lib/libc++abi.a diff --git a/repos/base/src/lib/timeout/Tupfile b/repos/base/src/lib/timeout/Tupfile index f858c9acc..3992c4b7c 100644 --- a/repos/base/src/lib/timeout/Tupfile +++ b/repos/base/src/lib/timeout/Tupfile @@ -1,5 +1,5 @@ include_rules -INCLUDES += $(REP_DIR)/src/include +CPPFLAGS += $(REP_DIR)/src/include SRC_CC += \ duration.cc \ diff --git a/repos/os/Tuprules.tup b/repos/os/Tuprules.tup index 4c68f22dc..1cffbd369 100644 --- a/repos/os/Tuprules.tup +++ b/repos/os/Tuprules.tup @@ -1,19 +1,19 @@ REP_DIR = $(TUP_CWD) ifeq (@(TUP_ARCH),i386) -INCLUDES += -I$(REP_DIR)/include/spec/x86_32 -INCLUDES += -I$(REP_DIR)/include/spec/x86 +CPPFLAGS += -I$(REP_DIR)/include/spec/x86_32 +CPPFLAGS += -I$(REP_DIR)/include/spec/x86 endif ifeq (@(TUP_ARCH),x86_64) -INCLUDES += -I$(REP_DIR)/include/spec/x86_64 -INCLUDES += -I$(REP_DIR)/include/spec/x86 +CPPFLAGS += -I$(REP_DIR)/include/spec/x86_64 +CPPFLAGS += -I$(REP_DIR)/include/spec/x86 endif ifeq (@(TUP_ARCH),arm) -INCLUDES += -I$(REP_DIR)/include/spec/arm +CPPFLAGS += -I$(REP_DIR)/include/spec/arm endif -INCLUDES += -I$(REP_DIR)/include +CPPFLAGS += -I$(REP_DIR)/include CXXFLAGS += -std=gnu++17 diff --git a/repos/os/src/drivers/ahci/Tuprules.tup b/repos/os/src/drivers/ahci/Tuprules.tup index 22e944acd..5bf8d761f 100644 --- a/repos/os/src/drivers/ahci/Tuprules.tup +++ b/repos/os/src/drivers/ahci/Tuprules.tup @@ -1,2 +1,2 @@ -INCLUDES += -I$(TUP_CWD) +CPPFLAGS += -I$(TUP_CWD) SRC_CC = $(TUP_CWD)/*.cc diff --git a/repos/os/src/drivers/input/spec/ps2/Tuprules.tup b/repos/os/src/drivers/input/spec/ps2/Tuprules.tup index 8e021bbf4..7d2300e14 100644 --- a/repos/os/src/drivers/input/spec/ps2/Tuprules.tup +++ b/repos/os/src/drivers/input/spec/ps2/Tuprules.tup @@ -1 +1 @@ -INCLUDES += -I$(TUP_CWD) +CPPFLAGS += -I$(TUP_CWD) diff --git a/repos/os/src/lib/blit/Tupfile b/repos/os/src/lib/blit/Tupfile index 7286c3867..c4dd19c22 100644 --- a/repos/os/src/lib/blit/Tupfile +++ b/repos/os/src/lib/blit/Tupfile @@ -1,24 +1,24 @@ include_rules ifeq (@(TUP_ARCH),i386) -BLIT_INCLUDES += -Ispec/x86_32 -BLIT_INCLUDES += -Ispec/x86 +BLIT_CPPFLAGS += -Ispec/x86_32 +BLIT_CPPFLAGS += -Ispec/x86 endif ifeq (@(TUP_ARCH),x86_64) -BLIT_INCLUDES += -Ispec/x86_64 -BLIT_INCLUDES += -Ispec/x86 +BLIT_CPPFLAGS += -Ispec/x86_64 +BLIT_CPPFLAGS += -Ispec/x86 endif ifeq (@(TUP_ARCH),arm) -BLIT_INCLUDES += -Ispec/arm +BLIT_CPPFLAGS += -Ispec/arm endif -ifeq ($(BLIT_INCLUDES),) +ifeq ($(BLIT_CPPFLAGS),) error blit library not yet ported to @(TUP_ARCH) endif -INCLUDES += $(BLIT_INCLUDES) +CPPFLAGS += $(BLIT_CPPFLAGS) : foreach *.cc |> !cxx |> {obj} : {obj} |> !ar |> {bin}