diff --git a/Tuprules.tup b/Tuprules.tup index 8430a0047..59b39de69 100644 --- a/Tuprules.tup +++ b/Tuprules.tup @@ -5,12 +5,14 @@ OUTPUTS_DEV=$(TUP_CWD)/dev DEV_DIR = $(TUP_CWD)/dev ifeq (@(TUP_ARCH),i386) +X86 = y CC_MARCH = -march=i686 -m32 LD_MARCH = -melf_i386 AS_MARCH = -march=i686 --32 endif ifeq (@(TUP_ARCH),x86_64) +X86 = y TOOL_CHAIN_PREFIX=genode-x86- CC_MARCH = -m64 -mcmodel=large LD_MARCH = -melf_x86_64 @@ -92,7 +94,12 @@ PKG_CONFIG_DIR = $(OUTPUTS_DEV)/lib/pkgconfig PKG_CONFIG = PKG_CONFIG_PATH=$(PKG_CONFIG_DIR):$PKG_CONFIG_PATH pkg-config DEFINES += -g + +ifdef OLEVEL +OLEVEL = @(OLEVEL) +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 diff --git a/repos/base-nova/src/core/Tupfile b/repos/base-nova/src/core/Tupfile index d82351964..b4c356b88 100644 --- a/repos/base-nova/src/core/Tupfile +++ b/repos/base-nova/src/core/Tupfile @@ -1,5 +1,3 @@ -ifeq (@(BUILD_NOVA),y) - include_rules GEN_CORE_DIR = $(BASE_DIR)/src/core @@ -55,5 +53,3 @@ CXXFLAGS_$(GEN_CORE_DIR)/version.cc += -DGENODE_VERSION=\"`git describe`\" |> $(LD) $(LD_MARCH) -u _start --whole-archive -r \ % % %f -o %o \ |> core-nova.o $(REP_DIR)/ - -endif diff --git a/repos/base-nova/src/lib/base/Tupfile b/repos/base-nova/src/lib/base/Tupfile index ce9511afb..ffa7c67b3 100644 --- a/repos/base-nova/src/lib/base/Tupfile +++ b/repos/base-nova/src/lib/base/Tupfile @@ -1,5 +1,3 @@ -ifeq (@(BUILD_NOVA),y) - include_rules INCLUDES += -I$(BASE_DIR)/src/include @@ -42,5 +40,3 @@ SRC_CC += \ : foreach $(SRC_CC) |> !cxx |> {base-obj} : {base-obj} |> !ar |> base-nova.lib.a - -endif diff --git a/repos/base-nova/src/lib/ld/Tupfile b/repos/base-nova/src/lib/ld/Tupfile index 5ccc377f4..f77dee361 100644 --- a/repos/base-nova/src/lib/ld/Tupfile +++ b/repos/base-nova/src/lib/ld/Tupfile @@ -1,5 +1,3 @@ -ifeq (@(BUILD_NOVA),y) - TARGET_NAME = base-nova include_rules INCLUDES += -I$(BASE_DIR)/src/include @@ -59,5 +57,3 @@ LDFLAGS += `pkg-config --static --libs $(BASE_PKGS)` : {bin} |> !collect_bin |> include &(BIN_RULES) - -endif diff --git a/repos/os/src/drivers/ahci/spec/x86/Tupfile b/repos/os/src/drivers/ahci/spec/x86/Tupfile index ec96bd7cc..481a281c5 100644 --- a/repos/os/src/drivers/ahci/spec/x86/Tupfile +++ b/repos/os/src/drivers/ahci/spec/x86/Tupfile @@ -1,7 +1,7 @@ -ifdef x86 - TARGET_NAME = ahci_drv include_rules +ifneq ($(X86),) + : foreach $(SRC_CC) *.cc |> !cxx |> %B.o {obj} : {obj} | |> !prg |> $(TARGET_NAME) {bin} : {bin} |> !collect_bin |> diff --git a/repos/os/src/drivers/input/spec/ps2/x86/Tupfile b/repos/os/src/drivers/input/spec/ps2/x86/Tupfile index 2ccac1b7e..63a606342 100644 --- a/repos/os/src/drivers/input/spec/ps2/x86/Tupfile +++ b/repos/os/src/drivers/input/spec/ps2/x86/Tupfile @@ -1,7 +1,7 @@ -ifdef x86 - TARGET_NAME = ps2_drv include_rules +ifneq ($(X86),) + : foreach $(SRC_CC) *.cc |> !cxx |> %B.o {obj} : {obj} | |> !prg |> $(TARGET_NAME) {bin} : {bin} |> !collect_bin |>