diff --git a/Tuprules.tup b/Tuprules.tup index 7b0555137..c2bed0982 100644 --- a/Tuprules.tup +++ b/Tuprules.tup @@ -21,12 +21,8 @@ ifeq (@(TUP_ARCH),arm_v8) CC_MARCH = -march=armv8-a endif -OUT_BIN_DIR = $(OUT_DIR)/bin - GENODE_DIR = $(TUP_CWD) -LIBGCC = `$(CC) $(CC_MARCH) -print-libgcc-file-name` - !prg = | $(GENODE_DIR)/ $(DEV_DIR)/ $(GENODE_DIR)/ \ |> ^o LD %o^ \ $(LD) $(LD_MARCH) $(LDFLAGS) \ @@ -37,29 +33,15 @@ LIBGCC = `$(CC) $(CC_MARCH) -print-libgcc-file-name` -o %o \ |> %d -!lib = | $(GENODE_DIR)/ $(DEV_DIR)/ $(GENODE_DIR)/ |> ^o LD %o^ $(LD) $(LD_MARCH) %f $(LDFLAGS) `$(PKG_CONFIG) --libs genode-lib $(LIBS)` -L$(LIB_DIR) -o %o |> - -ifeq ($(BIN_NAME),) -BIN_NAME = $(TARGET_NAME) -endif - -ifdef DEPOT_VERSION -DEPOT_VERSION = @(DEPOT_VERSION) -else -DEPOT_VERSION = current -endif - -BIN_VERSION=$(DEPOT_VERSION) - -!bin = |> |> - # Macro invoked in BIN_RULES - -&BIN_RULES = errata/bin.tup - # Rules for finalizing a locally defined binary package +!lib = | $(GENODE_DIR)/ $(DEV_DIR)/ $(GENODE_DIR)/ |> ^o LD %o^ $(LD) $(LD_MARCH) %f $(LDFLAGS) `$(PKG_CONFIG) --libs genode-lib $(LIBS)` -L$(LIB_DIR) -o %o |> %d.lib.so !collect_bin = |> ^ COLLECT %b^ \ $STRIP -o %o %f \ -|> $(OUT_BIN_DIR)/$(BIN_NAME)/%b $(OUT_DIR)/ +|> $(OUT_DIR)/bin/%b $(OUT_DIR)/ + +!collect_shared = |> ^ COLLECT %b^ \ + $STRIP -o %o %f \ +|> $(OUT_DIR)/lib/%b $(OUT_DIR)/ !collect_static = |> ^ COLLECT %b^ \ cp %f %o \ @@ -75,11 +57,11 @@ CXX = $CXX LD= $LD OBJCOPY = $OBJCOPY -CXXFLAGS += -Wno-undefined-bool-conversion -Wno-unknown-attributes -Wsystem-headers -Werror -Wno-uninitialized -Wno-mismatched-tags -#CXXFLAGS += -Wno-unused-command-line-argument +ifdef CXXFLAGS +CXXFLAGS = @(CXXFLAGS) +endif -export NIX_PATH -NIX_BUILD = nix-build --option substitute no +CXXFLAGS += -Wno-undefined-bool-conversion -Wno-unknown-attributes -Wsystem-headers -Werror -Wno-uninitialized -Wno-mismatched-tags LIBGCC = `$(CC) $(CC_MARCH) -print-libgcc-file-name` @@ -138,12 +120,6 @@ endif rm tmp.o; \ |> $(DEV_DIR)/lib/%B.lib.so $(GENODE_DIR)/ -!dhall = |> ^b dhall > %o^ dhall |> - -ifeq (@(TUP_ARCH),i386) -AS_MARCH = -march=i686 --32 -endif - BASE_DIR = $(GENODE_DIR)/repos/base &BASE_DIR = repos/base @@ -154,12 +130,10 @@ BASE_DIR = $(GENODE_DIR)/repos/base |> binary_%b.o export AR -!ar = |> ^ MERGE %o^ $AR -rcs %o %f |> %d.lib.a +!ar = |> $AR -rcs %o %f |> %d.a -export version -GIT_VERSION = `git describe || echo $version` +GIT_VERSION = `git describe || echo @(VERSION)` -export TOOLCHAIN_DIR SED_PKGCONFIG_FLAGS += -e "s|@DEPOT_VERSION@|$(GIT_VERSION)|" SED_PKGCONFIG_FLAGS += -e "s|@VERSION@|$(GIT_VERSION)|" @@ -173,10 +147,10 @@ SED_PKGCONFIG_FLAGS += -e "s|@VERSION@|$(GIT_VERSION)|" pkg-config --validate %o; \ |> $(PKG_CONFIG_DIR)/%d.pc $(GENODE_DIR)/ -!emit_lib_pkg_config = |> \ +!emit_lib_pkg_config = |> ^ emit %d.a pkg-config^ \ echo Name: %d >> %o; \ echo Description: Genode %d library >> %o; \ echo Version: $(GIT_VERSION) >> %o; \ - echo Libs: -l:%d.lib.a >> %o; \ + echo Libs: -l:%d.a >> %o; \ pkg-config --validate %o; \ |> $(PKG_CONFIG_DIR)/%d.pc $(GENODE_DIR)/ diff --git a/errata/bin.tup b/errata/bin.tup deleted file mode 100644 index 30af60fa7..000000000 --- a/errata/bin.tup +++ /dev/null @@ -1,14 +0,0 @@ -ifeq ($(BIN_NAME),) -error BIN_NAME is empty -endif - -ifeq ($(BIN_VERSION),) -error BIN_VERSION is empty -endif - -: |> !bin |> - # Finalize the metadata with the macro defined in the - # ../Tuprules.tup. The macro cannot be defined here - # because the "include" directive is not available for - # relative paths during "include_rules" so this file - # cannot be included by intermediate Tuprules.tup. diff --git a/errata/pkg.tup b/errata/pkg.tup deleted file mode 100644 index e69de29bb..000000000 diff --git a/errata/raw.tup b/errata/raw.tup deleted file mode 100644 index d8204ae28..000000000 --- a/errata/raw.tup +++ /dev/null @@ -1,14 +0,0 @@ -ifeq ($(RAW_NAME),) -error RAW_NAME is empty -endif - -ifeq ($(RAW_VERSION),) -error RAW_VERSION is empty -endif - -: |> !raw |> - # Finalize the metadata with the macro defined in the - # ../Tuprules.tup. The macro cannot be defined here - # because the "include" directive is not available for - # relative paths during "include_rules" so this file - # cannot be included by intermediate Tuprules.tup. diff --git a/repos/base-linux/src/Tuprules.tup b/repos/base-linux/src/Tuprules.tup index ebf767be4..24ff01a2a 100644 --- a/repos/base-linux/src/Tuprules.tup +++ b/repos/base-linux/src/Tuprules.tup @@ -4,4 +4,4 @@ endif INCLUDES += -I$(TUP_CWD)/include INCLUDES += -I$(BASE_DIR)/src/include -INCLUDES += -I@(LINUX_HEADERS) +INCLUDES += -I@(LINUX_HEADERS)/include diff --git a/repos/base-linux/src/core/Tupfile b/repos/base-linux/src/core/Tupfile index 456741ed6..1d4ca3f2c 100644 --- a/repos/base-linux/src/core/Tupfile +++ b/repos/base-linux/src/core/Tupfile @@ -1,4 +1,3 @@ -TARGET_NAME = core-linux include_rules GEN_CORE_DIR = $(BASE_DIR)/src/core @@ -8,17 +7,9 @@ DEFINES += -D_GNU_SOURCE INCLUDES += \ -I$(REP_DIR)/src/core/include \ -I$(GEN_CORE_DIR)/include \ - -I$(REP_DIR)/src/platform \ - -I$(REP_DIR)/src/include \ - -I$(BASE_DIR)/src/include \ - -include $(REP_DIR)/src/lib/syscall/headers.tup +SRC_CC += *.cc SRC_CC += \ - *.cc \ - $(REP_DIR)/src/lib/base/env_reinit.cc \ - $(BASE_DIR)/src/lib/base/thread.cc \ - $(BASE_DIR)/src/lib/base/thread_myself.cc \ $(GEN_CORE_DIR)/capability_space.cc \ $(GEN_CORE_DIR)/core_log.cc \ $(GEN_CORE_DIR)/core_rpc_cap_alloc.cc \ @@ -44,7 +35,6 @@ CXXFLAGS_$(GEN_CORE_DIR)/version.cc += -DGENODE_VERSION=\"`git describe`\" : foreach $(SRC_CC) |> !cxx |> {obj} LDFLAGS += \ - $(LD_MARCH) \ -gc-sections \ -z max-page-size=0x1000 \ -nostdlib \ @@ -52,14 +42,14 @@ LDFLAGS += \ -T$(BASE_DIR)/src/ld/genode.ld \ -T$(REP_DIR)/src/ld/stack_area.ld \ -CORE_LIBS += \ - $(REP_DIR)/src/lib/base/base-linux-common.lib.a \ - $(REP_DIR)/src/lib/syscall/syscall-linux.lib.a \ +LDFLAGS += -L$(LIB_DIR) `$(PKG_CONFIG) --libs cxx-baremetal startup` -CORE_PKGS += cxx startup +: {obj} | \ + $(DEV_DIR)/ \ + $(GENODE_DIR)/ \ + $(REP_DIR)/ \ + $(REP_DIR)/ \ +|> !ld % % \ +|> core-linux $(REP_DIR)/ {bin} -STATIC_LIBS += -L$(LIB_DIR) `$(PKG_CONFIG) --libs cxx startup` - -: {obj} $(CORE_LIBS) | $(DEV_DIR)/ $(GENODE_DIR)/ |> !ld $(STATIC_LIBS) |> core-linux $(REP_DIR)/ {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/base-linux/src/lib/base-common/Tupfile b/repos/base-linux/src/lib/base-common/Tupfile new file mode 100644 index 000000000..bb82a15dc --- /dev/null +++ b/repos/base-linux/src/lib/base-common/Tupfile @@ -0,0 +1,37 @@ +include_rules +GENERIC_DIR = $(BASE_DIR)/src/lib/base-common +GENERIC_SRC_CC += \ + $(GENERIC_DIR)/allocator_avl.cc \ + $(GENERIC_DIR)/avl_tree.cc \ + $(GENERIC_DIR)/capability.cc \ + $(GENERIC_DIR)/child.cc \ + $(GENERIC_DIR)/component.cc \ + $(GENERIC_DIR)/console.cc \ + $(GENERIC_DIR)/elf_binary.cc \ + $(GENERIC_DIR)/entrypoint.cc \ + $(GENERIC_DIR)/env_session_id_space.cc \ + $(GENERIC_DIR)/heap.cc \ + $(GENERIC_DIR)/lock.cc \ + $(GENERIC_DIR)/log.cc \ + $(GENERIC_DIR)/output.cc \ + $(GENERIC_DIR)/raw_output.cc \ + $(GENERIC_DIR)/registry.cc \ + $(GENERIC_DIR)/root_proxy.cc \ + $(GENERIC_DIR)/rpc_dispatch_loop.cc \ + $(GENERIC_DIR)/rpc_entrypoint.cc \ + $(GENERIC_DIR)/session_state.cc \ + $(GENERIC_DIR)/signal_common.cc \ + $(GENERIC_DIR)/slab.cc \ + $(GENERIC_DIR)/sleep.cc \ + $(GENERIC_DIR)/sliced_heap.cc \ + $(GENERIC_DIR)/stack_allocator.cc \ + $(GENERIC_DIR)/stack_protector.cc \ + $(GENERIC_DIR)/thread.cc \ + $(GENERIC_DIR)/thread_myself.cc \ + $(GENERIC_DIR)/trace.cc \ + +#CXXFLAGS += -mllvm -opt-bisect-limit=1 + +: foreach $(GENERIC_SRC_CC) |> !cxx |> {obj} +: foreach *.cc |> !cxx |> {obj} +: {obj} |> !ar |> | $(REP_DIR)/ diff --git a/repos/base-linux/src/lib/base/child_process.cc b/repos/base-linux/src/lib/base-common/child_process.cc similarity index 100% rename from repos/base-linux/src/lib/base/child_process.cc rename to repos/base-linux/src/lib/base-common/child_process.cc diff --git a/repos/base-linux/src/lib/base/region_map_client.cc b/repos/base-linux/src/lib/base-common/region_map_client.cc similarity index 100% rename from repos/base-linux/src/lib/base/region_map_client.cc rename to repos/base-linux/src/lib/base-common/region_map_client.cc diff --git a/repos/base-linux/src/lib/base/rm_session_client.cc b/repos/base-linux/src/lib/base-common/rm_session_client.cc similarity index 100% rename from repos/base-linux/src/lib/base/rm_session_client.cc rename to repos/base-linux/src/lib/base-common/rm_session_client.cc diff --git a/repos/base-linux/src/lib/base/Tupfile b/repos/base-linux/src/lib/base/Tupfile index f1dbd62a3..42f1cba39 100644 --- a/repos/base-linux/src/lib/base/Tupfile +++ b/repos/base-linux/src/lib/base/Tupfile @@ -1,14 +1,6 @@ -# DANGER: any source or header here may be ovelayed by $(BASE_DIR) - include_rules -INCLUDES += -I$(REP_DIR)/src/include INCLUDES += -I$(REP_DIR)/src/lib/syscall -INCLUDES += -I$(BASE_DIR)/src/include - -export HOST_LIBC - # an environmental variable set by nix-shell -INCLUDES += -I$HOST_LIBC/include BASE_LIB_DIR = $(BASE_DIR)/src/lib/base @@ -34,7 +26,6 @@ COMMON_SRC_CC += \ $(BASE_DIR)/src/lib/base/sliced_heap.cc \ $(BASE_DIR)/src/lib/base/stack_allocator.cc \ $(BASE_DIR)/src/lib/base/stack_protector.cc \ - $(BASE_LIB_DIR)/capability.cc \ $(BASE_LIB_DIR)/rpc_dispatch_loop.cc \ $(BASE_LIB_DIR)/rpc_entrypoint.cc \ $(BASE_LIB_DIR)/sleep.cc \ @@ -48,9 +39,9 @@ COMMON_SRC_CC += \ rm_session_client.cc \ thread_env.cc \ -: foreach $(COMMON_SRC_CC) |> !cxx |> %B.o {base-common-obj} +#: foreach $(COMMON_SRC_CC) |> !cxx |> %B.o {base-common-obj} -: {base-common-obj} |> !ar |> base-linux-common.lib.a +#: {base-common-obj} |> !ar |> base-linux-common.lib.a SRC_CC += \ $(BASE_LIB_DIR)/capability_space.cc \ @@ -62,11 +53,7 @@ SRC_CC += \ $(BASE_LIB_DIR)/signal.cc \ $(BASE_LIB_DIR)/signal_transmitter.cc \ $(BASE_LIB_DIR)/stack_area.cc \ - $(BASE_LIB_DIR)/thread.cc \ - $(BASE_LIB_DIR)/thread_myself.cc \ attach_stack_area.cc \ - capability_raw.cc \ - env_reinit.cc \ platform_env.cc \ thread_linux.cc \ diff --git a/repos/base-linux/src/lib/ld/Tupfile b/repos/base-linux/src/lib/ld/Tupfile index 8c4addff9..a43b3d4ec 100644 --- a/repos/base-linux/src/lib/ld/Tupfile +++ b/repos/base-linux/src/lib/ld/Tupfile @@ -1,12 +1,9 @@ -TARGET_NAME = base-linux include_rules ifeq (@(TUP_ARCH),x86_64) INCLUDES += -I$(BASE_DIR)/src/lib/ldso/spec/x86_64 endif -INCLUDES += -I$(BASE_DIR)/src/include - LDSO_DIR = $(BASE_DIR)/src/lib/ldso ifeq (@(TUP_ARCH),x86_64) @@ -14,7 +11,7 @@ LDSO_SPEC_DIR = $(LDSO_DIR)/spec/x86_64 endif INCLUDES += -I$(LDSO_SPEC_DIR) -INCLUDES += -I$(LDSO_DIR)/include +INCLUDES = -I$(LDSO_DIR)/include $(INCLUDES) DEFINES += -fPIC @@ -38,24 +35,21 @@ LDFLAGS += -T$(BASE_DIR)/src/ld/genode_rel.ld LDFLAGS += --entry=_start_initial_stack BASE_LIBS += \ - $(REP_DIR)/src/lib/base/base-linux-common.lib.a \ $(REP_DIR)/src/lib/base/base-linux.lib.a \ - $(REP_DIR)/src/lib/syscall/syscall-linux.lib.a \ BASE_PKGS += alarm cxx ldso-startup startup timeout -LDFLAGS += `pkg-config --static --libs $(BASE_PKGS)` +LDFLAGS += -L$(LIB_DIR) `$(PKG_CONFIG) --static --libs $(BASE_PKGS)` -: $(BASE_LIBS) {obj} | symbol.map \ +: $(BASE_LIBS) {obj} | \ + symbol.map \ + $(DEV_DIR)/ \ + $(GENODE_DIR)/ \ + $(REP_DIR)/ \ + $(REP_DIR)/ \ |> \ - $(LD) -o %o \ - $(LD_MARCH) $(LDFLAGS) \ - --whole-archive --start-group \ - %f \ - --end-group --no-whole-archive \ - $(LIBGCC) ;\ - printf "\x02" | dd of=%o bs=1 seek=16 count=1 conv=notrunc ; \ + $(LD) $(LDFLAGS) % % %f -o %o; \ + printf "\x02" | dd of=%o bs=1 seek=16 count=1 conv=notrunc; \ |> ld-linux.lib.so $(REP_DIR)/ {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/base-linux/src/lib/lx_hybrid/Tupfile b/repos/base-linux/src/lib/lx_hybrid/Tupfile index 211a42d68..f8376acf1 100644 --- a/repos/base-linux/src/lib/lx_hybrid/Tupfile +++ b/repos/base-linux/src/lib/lx_hybrid/Tupfile @@ -1,11 +1,7 @@ include_rules -include $(REP_DIR)/src/lib/syscall/headers.tup -INCLUDES += -I$(REP_DIR)/src/include -INCLUDES += -I$(BASE_DIR)/src/include - -STATIC_LIBS = ../base/base-linux-common.lib.a +INCLUDES += -I$(REP_DIR)/src/lib/syscall : foreach *.cc $(BASE_DIR)/src/lib/cxx/new_delete.cc |> !cxx |> {obj} : foreach *.c |> !cc |> {obj} -: {obj} $(STATIC_LIBS) |> !ar |> %d.lib.a +: {obj} |> !ar |> %d.lib.a diff --git a/repos/base-linux/src/lib/syscall/Tupfile b/repos/base-linux/src/lib/syscall/Tupfile index 1c1cdd30e..72734650a 100644 --- a/repos/base-linux/src/lib/syscall/Tupfile +++ b/repos/base-linux/src/lib/syscall/Tupfile @@ -19,4 +19,4 @@ ifeq ($(SPEC_DIR),) endif : foreach $(SPEC_DIR)/*.S |> !asm |> {obj} -: {obj} |> !ar |> syscall-linux.lib.a +: {obj} |> !ar |> | $(REP_DIR)/ diff --git a/repos/base-linux/src/lib/syscall/headers.tup b/repos/base-linux/src/lib/syscall/headers.tup deleted file mode 100644 index e1b320cea..000000000 --- a/repos/base-linux/src/lib/syscall/headers.tup +++ /dev/null @@ -1,5 +0,0 @@ -INCLUDES += -I$(REP_DIR)/src/lib/syscall - -export HOST_LIBC - # an environmental variable set by nix-shell -INCLUDES += -I$HOST_LIBC/include diff --git a/repos/base-linux/src/timer/linux/Tupfile b/repos/base-linux/src/timer/linux/Tupfile index 11e0c8de9..499742197 100644 --- a/repos/base-linux/src/timer/linux/Tupfile +++ b/repos/base-linux/src/timer/linux/Tupfile @@ -1,4 +1,3 @@ -TARGET_NAME = linux_timer_drv LIBS += genode-base include_rules @@ -6,17 +5,16 @@ BASE_TIMER_DIR = $(BASE_DIR)/src/timer PERIODIC_DIR = $(BASE_TIMER_DIR)/periodic -INCLUDES += -I. INCLUDES += -I$(BASE_TIMER_DIR)/include INCLUDES += -I$(PERIODIC_DIR) +INCLUDES += -I$(REP_DIR)/src/lib/syscall -include $(REP_DIR)/src/lib/syscall/headers.tup +INCLUDES = -I. $(INCLUDES) + #TODO: ^ FAIL : foreach $(BASE_TIMER_DIR)/*.cc |> !cxx |> %B.linux.o {obj} : foreach $(PERIODIC_DIR)/*.cc |> !cxx |> %B.linux.o {obj} : foreach *.cc |> !cxx |> %B.o {obj} -: {obj} $(REP_DIR)/src/lib/syscall/syscall-linux.lib.a |> !prg |> timer {bin} +: {obj} | $(REP_DIR)/ |> !prg % |> linux_timer_drv {bin} : {bin} |> !collect_bin |> - -include &(BIN_RULES) diff --git a/repos/base-nova/src/core/Tupfile b/repos/base-nova/src/core/Tupfile index 4e609e9dc..c6902a784 100644 --- a/repos/base-nova/src/core/Tupfile +++ b/repos/base-nova/src/core/Tupfile @@ -43,33 +43,15 @@ SRC_CC += \ CXXFLAGS_$(GEN_CORE_DIR)/version.cc += -DGENODE_VERSION=\"`git describe`\" -: foreach $(SRC_CC) |> !cxx |> {link-items} +: foreach $(SRC_CC) |> !cxx |> {obj} -: {link-items} |> !ar |> {archive} +LDFLAGS += -L$(LIB_DIR) `$(PKG_CONFIG) --libs cxx-baremetal startup` -STATIC_LIBS += -L$(LIB_DIR) `$(PKG_CONFIG) --libs cxx startup` - -ifndef LIBUNWIND_BAREMETAL -error CONFIG_LIBUNWIND_BAREMETAL not defined -@(LIBUNWIND_BAREMETAL) -endif - -EH_SYMBOLS = \ - _Unwind_Resume \ - _Unwind_Complete \ - _Unwind_DeleteException \ - -REDEF_SYMBOLS = `echo $(EH_SYMBOLS) | awk -v RS=' ' '{ print "--redefine-sym "$1"=_cxx_"$1 }'` - -export OBJCOPY -: |> $OBJCOPY $(LOCAL_SYMBOLS) $(REDEF_SYMBOLS) @(LIBUNWIND_BAREMETAL) %o |> libunwind.a {archive} - -: {archive} | \ +: {obj} | \ $(DEV_DIR)/ \ $(GENODE_DIR)/ \ - $(BASE_DIR)/ \ $(BASE_DIR)/ \ $(REP_DIR)/ \ -|> $(LD) -u _start --whole-archive -r \ - % % % %f $(STATIC_LIBS) -o %o \ +|> $(LD) $(LDFLAGS) -u _start -r \ + % % %f -o %o \ |> core.o $(REP_DIR)/ diff --git a/repos/base-nova/src/lib/base-common/Tupfile b/repos/base-nova/src/lib/base-common/Tupfile index 8d4531af6..cbd07dcbc 100644 --- a/repos/base-nova/src/lib/base-common/Tupfile +++ b/repos/base-nova/src/lib/base-common/Tupfile @@ -1,6 +1,6 @@ include_rules -GENERIC_DIR = $(BASE_DIR)/src/lib/base +GENERIC_DIR = $(BASE_DIR)/src/lib/base-common GENERIC_SRC_CC += \ $(GENERIC_DIR)/allocator_avl.cc \ diff --git a/repos/base-nova/src/lib/ld/Tupfile b/repos/base-nova/src/lib/ld/Tupfile index 6425acd46..f2b5db802 100644 --- a/repos/base-nova/src/lib/ld/Tupfile +++ b/repos/base-nova/src/lib/ld/Tupfile @@ -1,4 +1,3 @@ -TARGET_NAME = base-nova include_rules INCLUDES += -I$(BASE_DIR)/src/include @@ -55,4 +54,3 @@ LDFLAGS += `pkg-config --static --libs $(BASE_PKGS)` |> ld.lib.so $(REP_DIR)/ {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/base-nova/src/timer/nova/Tupfile b/repos/base-nova/src/timer/nova/Tupfile index a3bfd1686..ae61efbd3 100644 --- a/repos/base-nova/src/timer/nova/Tupfile +++ b/repos/base-nova/src/timer/nova/Tupfile @@ -1,14 +1,12 @@ -TARGET_NAME = nova_timer_drv LIBS += genode-base include_rules BASE_TIMER_DIR = $(BASE_DIR)/src/timer -INCLUDES += -I. INCLUDES += -I$(BASE_TIMER_DIR)/include +INCLUDES += -I. + #TODO: ^ FAIL : foreach *.cc $(BASE_TIMER_DIR)/*.cc |> !cxx |> %B.nova.o {obj} -: {obj} |> !prg |> timer {bin} +: {obj} |> !prg |> nova_timer_drv {bin} : {bin} |> !collect_bin |> - -include &(BIN_RULES) diff --git a/repos/base/genode-lib.pc.in b/repos/base/genode-lib.pc.in index 61ab012a3..9d86968be 100644 --- a/repos/base/genode-lib.pc.in +++ b/repos/base/genode-lib.pc.in @@ -1,4 +1,4 @@ Name: genode-lib Description: Flags for linking Genode libraries Version: @VERSION@ -Libs: -shared --eh-frame-hdr -gc-sections -z max-page-size=0x1000 -T@lddir@/genode_rel.ld --entry=0x0 -l:ldso-startup.lib.a @libgcc@ +Libs: -shared --eh-frame-hdr -gc-sections -z max-page-size=0x1000 -T@lddir@/genode_rel.ld --entry=0x0 @libgcc@ diff --git a/repos/base/src/lib/cxx/Tupfile b/repos/base/src/lib/cxx/Tupfile index e6549f53b..5e8d346ca 100644 --- a/repos/base/src/lib/cxx/Tupfile +++ b/repos/base/src/lib/cxx/Tupfile @@ -1,19 +1,30 @@ +ifndef LIBCXX +error LIBCXX not configured +endif + +ifndef LIBCXXABI +error LIBCXXABI not configured +endif + +ifndef LIBUNWIND_BAREMETAL +error LIBUNWIND_BAREMETAL not configured +endif + +ifndef LIBUNWIND +error LIBUNWIND not configured +endif + include_rules DEFINES = -ffunction-sections -fno-strict-aliasing -g -fPIC # drop the standard defines to avoid -nostdinc -export LIBCXX -export LIBCXXABI -export LIBUNWIND_BAREMETAL +INCLUDES += -I@(LIBCXX)/include/c++/v1 +INCLUDES += -I@(LIBCXXABI)/include -INCLUDES += -I$LIBCXX/include/c++/v1 -INCLUDES += -I$LIBCXXABI/include +LLVM_LIBS += @(LIBCXXABI)/lib/libc++abi.a -LLVM_LIBS += $LIBCXXABI/lib/libc++abi.a -LLVM_LIBS += $LIBUNWIND_BAREMETAL/lib/libunwind.a - -: foreach *.cc |> !cxx |> {supc++} +: foreach *.cc |> !cxx |> {obj} # # Prevent symbols of the gcc support libs from being discarded during 'ld -r' @@ -28,35 +39,41 @@ KEEP_SYMBOLS = \ -u _ZTVN10__cxxabiv119__pointer_type_infoE \ -u _ZTSN10__cxxabiv120__function_type_infoE \ -: {supc++} |> $(LD) $(LD_MARCH) $(KEEP_SYMBOLS) -r %f $(LLVM_LIBS) -o %o |> supc++.tmp - -# # Here we define all symbols we want to hide in libsupc++ and libgcc_eh # LOCAL_SYMBOLS = \ + --localize-symbol=__stderrp --localize-symbol=abort \ --localize-symbol=calloc \ + --localize-symbol=fflush \ + --localize-symbol=fprintf \ --localize-symbol=fputc \ --localize-symbol=fputs \ --localize-symbol=free \ --localize-symbol=fwrite \ + --localize-symbol=islower \ + --localize-symbol=isxdigit \ --localize-symbol=malloc \ --localize-symbol=memcmp \ + --localize-symbol=memcpy \ + --localize-symbol=memmove \ + --localize-symbol=memset \ + --localize-symbol=posix_memalign \ --localize-symbol=realloc \ + --localize-symbol=snprintf \ --localize-symbol=sprintf \ --localize-symbol=stderr \ - --localize-symbol=__stderrp \ --localize-symbol=strcat \ --localize-symbol=strcmp \ --localize-symbol=strcpy \ --localize-symbol=strlen \ --localize-symbol=strncmp \ + --localize-symbol=vfprintf \ # -# Symbols we wrap (see unwind.cc) +# Symbols we wrap (see unwind.c) # EH_SYMBOLS = \ - _Unwind_Resume \ _Unwind_Complete \ _Unwind_DeleteException \ @@ -69,11 +86,20 @@ EH_SYMBOLS += \ REDEF_SYMBOLS = `echo $(EH_SYMBOLS) | awk -v RS=' ' '{ print "--redefine-sym "$1"=_cxx_"$1 }'` -export OBJCOPY -: supc++.tmp |> $OBJCOPY $(LOCAL_SYMBOLS) $(REDEF_SYMBOLS) -weaken %f %o |> supc++.o {obj} +: {obj} |> \ + $(LD) $(LD_MARCH) $(KEEP_SYMBOLS) -r %f $(LLVM_LIBS) @(LIBUNWIND)/lib/libunwind.a -o %o |> supc++.tmp + +: {obj} |> \ + $(LD) $(LD_MARCH) $(KEEP_SYMBOLS) -r %f $(LLVM_LIBS) @(LIBUNWIND_BAREMETAL)/lib/libunwind.a -o %o |> supc++-baremetal.tmp : foreach *.c |> !cc |> {obj} -: {obj} |> !ar |> {bin} +export OBJCOPY +: supc++.tmp |> $OBJCOPY $(LOCAL_SYMBOLS) $(REDEF_SYMBOLS) %f %o |> supc++.o +: supc++-baremetal.tmp |> $OBJCOPY $(LOCAL_SYMBOLS) $(REDEF_SYMBOLS) %f %o |> supc++-baremetal.o + +# +: supc++.o |> !ar |> cxx.a {bin} +: supc++-baremetal.o |> !ar |> cxx-baremetal.a {bin} : foreach {bin} |> !collect_static |> : |> !emit_lib_pkg_config |> diff --git a/repos/base/src/lib/cxx/cxx-baremetal/Tupfile b/repos/base/src/lib/cxx/cxx-baremetal/Tupfile new file mode 100644 index 000000000..927088d12 --- /dev/null +++ b/repos/base/src/lib/cxx/cxx-baremetal/Tupfile @@ -0,0 +1,2 @@ +include_rules +: |> !emit_lib_pkg_config |> diff --git a/repos/base/src/lib/ld/ld.pc.in b/repos/base/src/lib/ld/ld.pc.in index d28554509..95c1abb34 100644 --- a/repos/base/src/lib/ld/ld.pc.in +++ b/repos/base/src/lib/ld/ld.pc.in @@ -2,4 +2,4 @@ Name: ld Description: Genode dynamic loader URL: https://genode.org/ Version: @VERSION@ -Libs: -l:ld.lib.so -l:ldso-startup.lib.a +Libs: -l:ld.lib.so -l:ldso-startup.a diff --git a/repos/base/src/test/ds_ownership/Tupfile b/repos/base/src/test/ds_ownership/Tupfile index 79cde1b47..2f2f7b727 100644 --- a/repos/base/src/test/ds_ownership/Tupfile +++ b/repos/base/src/test/ds_ownership/Tupfile @@ -1,6 +1,4 @@ -TARGET_NAME = test-ds_ownership include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/base/src/test/log/Tupfile b/repos/base/src/test/log/Tupfile index 0cb599339..2f2f7b727 100644 --- a/repos/base/src/test/log/Tupfile +++ b/repos/base/src/test/log/Tupfile @@ -1,6 +1,4 @@ -TARGET_NAME = test-log include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/base/src/test/mmio/Tupfile b/repos/base/src/test/mmio/Tupfile index de525e55e..2f2f7b727 100644 --- a/repos/base/src/test/mmio/Tupfile +++ b/repos/base/src/test/mmio/Tupfile @@ -1,6 +1,4 @@ -TARGET_NAME = test-mmio include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/base/src/test/new_delete/Tupfile b/repos/base/src/test/new_delete/Tupfile index b73458b64..2f2f7b727 100644 --- a/repos/base/src/test/new_delete/Tupfile +++ b/repos/base/src/test/new_delete/Tupfile @@ -1,6 +1,4 @@ -TARGET_NAME = test-new_delete include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/base/src/test/reconstructible/Tupfile b/repos/base/src/test/reconstructible/Tupfile index fa8d2fc7f..2f2f7b727 100644 --- a/repos/base/src/test/reconstructible/Tupfile +++ b/repos/base/src/test/reconstructible/Tupfile @@ -1,6 +1,4 @@ -TARGET_NAME = test-reconstructible include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/base/src/test/registry/Tupfile b/repos/base/src/test/registry/Tupfile index 50d90fb7f..2f2f7b727 100644 --- a/repos/base/src/test/registry/Tupfile +++ b/repos/base/src/test/registry/Tupfile @@ -1,6 +1,4 @@ -TARGET_NAME = test-registry include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/base/src/test/rm_fault/Tupfile b/repos/base/src/test/rm_fault/Tupfile index cf56ae2ac..2f2f7b727 100644 --- a/repos/base/src/test/rm_fault/Tupfile +++ b/repos/base/src/test/rm_fault/Tupfile @@ -1,6 +1,4 @@ -TARGET_NAME = test-rm_fault include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/base/src/test/rm_nested/Tupfile b/repos/base/src/test/rm_nested/Tupfile index 8f37b6f95..2f2f7b727 100644 --- a/repos/base/src/test/rm_nested/Tupfile +++ b/repos/base/src/test/rm_nested/Tupfile @@ -1,6 +1,4 @@ -TARGET_NAME = test-rm_nested include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/base/src/test/segfault/Tupfile b/repos/base/src/test/segfault/Tupfile index 265be9c59..2f2f7b727 100644 --- a/repos/base/src/test/segfault/Tupfile +++ b/repos/base/src/test/segfault/Tupfile @@ -1,6 +1,4 @@ -TARGET_NAME = test-segfault include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/base/src/test/smp/Tupfile b/repos/base/src/test/smp/Tupfile index e99708dc6..2f2f7b727 100644 --- a/repos/base/src/test/smp/Tupfile +++ b/repos/base/src/test/smp/Tupfile @@ -1,6 +1,4 @@ -TARGET_NAME = test-smp include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/base/src/test/stack_smash/Tupfile b/repos/base/src/test/stack_smash/Tupfile index 92f619856..2f2f7b727 100644 --- a/repos/base/src/test/stack_smash/Tupfile +++ b/repos/base/src/test/stack_smash/Tupfile @@ -1,6 +1,4 @@ -TARGET_NAME = test-stack_smash include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/base/src/test/sub_rm/Tupfile b/repos/base/src/test/sub_rm/Tupfile index bb060ea45..2f2f7b727 100644 --- a/repos/base/src/test/sub_rm/Tupfile +++ b/repos/base/src/test/sub_rm/Tupfile @@ -1,6 +1,4 @@ -TARGET_NAME = test-sub_rm include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/base/src/test/synced_interface/Tupfile b/repos/base/src/test/synced_interface/Tupfile index 18a102677..2f2f7b727 100644 --- a/repos/base/src/test/synced_interface/Tupfile +++ b/repos/base/src/test/synced_interface/Tupfile @@ -1,6 +1,4 @@ -TARGET_NAME = test-synced_interface include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/base/src/test/thread/Tupfile b/repos/base/src/test/thread/Tupfile index 9bdfcb7ea..2f2f7b727 100644 --- a/repos/base/src/test/thread/Tupfile +++ b/repos/base/src/test/thread/Tupfile @@ -1,6 +1,4 @@ -TARGET_NAME = test-thread include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/base/src/test/timer/Tupfile b/repos/base/src/test/timer/Tupfile index aaa4f1365..2f2f7b727 100644 --- a/repos/base/src/test/timer/Tupfile +++ b/repos/base/src/test/timer/Tupfile @@ -1,6 +1,4 @@ -TARGET_NAME = test-timer include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/base/src/test/timer_accuracy/Tupfile b/repos/base/src/test/timer_accuracy/Tupfile index 654c29176..2f2f7b727 100644 --- a/repos/base/src/test/timer_accuracy/Tupfile +++ b/repos/base/src/test/timer_accuracy/Tupfile @@ -1,6 +1,4 @@ -TARGET_NAME = test-timer_accuracy include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/base/src/test/xml_node/Tupfile b/repos/base/src/test/xml_node/Tupfile index 42c907656..2f2f7b727 100644 --- a/repos/base/src/test/xml_node/Tupfile +++ b/repos/base/src/test/xml_node/Tupfile @@ -1,6 +1,4 @@ -TARGET_NAME = test-xml_node include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/Tuprules.tup b/repos/os/Tuprules.tup index dd89e66d9..4c68f22dc 100644 --- a/repos/os/Tuprules.tup +++ b/repos/os/Tuprules.tup @@ -15,3 +15,5 @@ INCLUDES += -I$(REP_DIR)/include/spec/arm endif INCLUDES += -I$(REP_DIR)/include + +CXXFLAGS += -std=gnu++17 diff --git a/repos/os/src/app/block_tester/Tupfile b/repos/os/src/app/block_tester/Tupfile new file mode 100644 index 000000000..947e65f54 --- /dev/null +++ b/repos/os/src/app/block_tester/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} |> !prg |> {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/app/cpu_burner/Tupfile b/repos/os/src/app/cpu_burner/Tupfile new file mode 100644 index 000000000..947e65f54 --- /dev/null +++ b/repos/os/src/app/cpu_burner/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} |> !prg |> {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/app/dummy/Tupfile b/repos/os/src/app/dummy/Tupfile new file mode 100644 index 000000000..947e65f54 --- /dev/null +++ b/repos/os/src/app/dummy/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} |> !prg |> {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/app/global_keys_handler/Tupfile b/repos/os/src/app/global_keys_handler/Tupfile index d4e206d46..947e65f54 100644 --- a/repos/os/src/app/global_keys_handler/Tupfile +++ b/repos/os/src/app/global_keys_handler/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = global_keys_handler - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/app/log_core/Tupfile b/repos/os/src/app/log_core/Tupfile index 215680777..947e65f54 100644 --- a/repos/os/src/app/log_core/Tupfile +++ b/repos/os/src/app/log_core/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = log_core - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/app/nit_focus/Tupfile b/repos/os/src/app/nit_focus/Tupfile index 5dbfd3533..947e65f54 100644 --- a/repos/os/src/app/nit_focus/Tupfile +++ b/repos/os/src/app/nit_focus/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = nit_focus - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/app/ping/Tupfile b/repos/os/src/app/ping/Tupfile index 86521889a..c0dba2262 100644 --- a/repos/os/src/app/ping/Tupfile +++ b/repos/os/src/app/ping/Tupfile @@ -1,10 +1,5 @@ -TARGET_NAME = ping -INCLUDES += -I. include_rules - +LIBS += net : foreach *.cc |> !cxx |> %B.o {obj} -: foreach ../../lib/net/*.cc |> !cxx |> %B.o {obj} - : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/app/pointer/Tupfile b/repos/os/src/app/pointer/Tupfile index ca125839d..947e65f54 100644 --- a/repos/os/src/app/pointer/Tupfile +++ b/repos/os/src/app/pointer/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = pointer - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/app/rom_logger/Tupfile b/repos/os/src/app/rom_logger/Tupfile index a7dcc206f..947e65f54 100644 --- a/repos/os/src/app/rom_logger/Tupfile +++ b/repos/os/src/app/rom_logger/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = rom_logger - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/app/rom_reporter/Tupfile b/repos/os/src/app/rom_reporter/Tupfile index c6c590f68..947e65f54 100644 --- a/repos/os/src/app/rom_reporter/Tupfile +++ b/repos/os/src/app/rom_reporter/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = rom_reporter - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/app/rom_to_file/Tupfile b/repos/os/src/app/rom_to_file/Tupfile index 93ee1f467..947e65f54 100644 --- a/repos/os/src/app/rom_to_file/Tupfile +++ b/repos/os/src/app/rom_to_file/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = rom_to_file - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/app/sequence/Tupfile b/repos/os/src/app/sequence/Tupfile index d5b64cd11..947e65f54 100644 --- a/repos/os/src/app/sequence/Tupfile +++ b/repos/os/src/app/sequence/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = sequence - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/app/smbios_decoder/Tupfile b/repos/os/src/app/smbios_decoder/Tupfile new file mode 100644 index 000000000..947e65f54 --- /dev/null +++ b/repos/os/src/app/smbios_decoder/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} |> !prg |> {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/app/top/Tupfile b/repos/os/src/app/top/Tupfile new file mode 100644 index 000000000..947e65f54 --- /dev/null +++ b/repos/os/src/app/top/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} |> !prg |> {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/app/trace_logger/Tupfile b/repos/os/src/app/trace_logger/Tupfile new file mode 100644 index 000000000..947e65f54 --- /dev/null +++ b/repos/os/src/app/trace_logger/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} |> !prg |> {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/app/trace_subject_reporter/Tupfile b/repos/os/src/app/trace_subject_reporter/Tupfile new file mode 100644 index 000000000..947e65f54 --- /dev/null +++ b/repos/os/src/app/trace_subject_reporter/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} |> !prg |> {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/app/usb_report_filter/Tupfile b/repos/os/src/app/usb_report_filter/Tupfile index e23ec70a5..947e65f54 100644 --- a/repos/os/src/app/usb_report_filter/Tupfile +++ b/repos/os/src/app/usb_report_filter/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = usb_report_filter - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/drivers/ahci/spec/x86/Tupfile b/repos/os/src/drivers/ahci/spec/x86/Tupfile index 481a281c5..dcb46f704 100644 --- a/repos/os/src/drivers/ahci/spec/x86/Tupfile +++ b/repos/os/src/drivers/ahci/spec/x86/Tupfile @@ -1,10 +1,8 @@ -TARGET_NAME = ahci_drv include_rules ifneq ($(X86),) : foreach $(SRC_CC) *.cc |> !cxx |> %B.o {obj} -: {obj} | |> !prg |> $(TARGET_NAME) {bin} +: {obj} | |> !prg |> ahci_x86_drv {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) endif diff --git a/repos/os/src/drivers/input/spec/ps2/x86/Tupfile b/repos/os/src/drivers/input/spec/ps2/x86/Tupfile index 63a606342..040c76b8e 100644 --- a/repos/os/src/drivers/input/spec/ps2/x86/Tupfile +++ b/repos/os/src/drivers/input/spec/ps2/x86/Tupfile @@ -1,10 +1,6 @@ -TARGET_NAME = ps2_drv include_rules ifneq ($(X86),) - : foreach $(SRC_CC) *.cc |> !cxx |> %B.o {obj} -: {obj} | |> !prg |> $(TARGET_NAME) {bin} +: {obj} | |> !prg |> ps2_drv {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) - endif diff --git a/repos/os/src/init/Tupfile b/repos/os/src/init/Tupfile index 0f3c34f17..3e5916d31 100644 --- a/repos/os/src/init/Tupfile +++ b/repos/os/src/init/Tupfile @@ -1,8 +1,4 @@ -TARGET_NAME = init -INCLUDES += -I./ include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} | |> !prg |> {bin} - : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/lib/net/Tupfile b/repos/os/src/lib/net/Tupfile index 0ec674b24..b411c87f1 100644 --- a/repos/os/src/lib/net/Tupfile +++ b/repos/os/src/lib/net/Tupfile @@ -1,6 +1,6 @@ include_rules : foreach *.cc |> !cxx |> {obj} -: {obj} |> !ar |> %d.lib.a {bin} +: {obj} |> !ar |> {bin} : {bin} |> !collect_static |> : |> !emit_lib_pkg_config |> diff --git a/repos/os/src/lib/vfs/Tupfile b/repos/os/src/lib/vfs/Tupfile index a322c9259..423138b77 100644 --- a/repos/os/src/lib/vfs/Tupfile +++ b/repos/os/src/lib/vfs/Tupfile @@ -1,17 +1,9 @@ -TARGET_NAME = vfs -INCLUDES += -I./ include_rules : $(REP_DIR)/lib/symbols/vfs |> !abi_stub |> : vfs.pc.in |> !sed_pkgconfig_file |> -: foreach *.cc |> !cxx |> %B.o {lib-obj} -: {lib-obj} |> !lib |> %d.lib.so {lib} - -: foreach ../../server/vfs/*.cc |> !cxx |> %B.o {server-obj} -: {server-obj} {lib} |> !prg |> server/vfs {server} - # Link the server to the immediate vfs.lib.so - -: foreach {lib} {server} |> !collect_bin |> -include &(BIN_RULES) +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} |> !lib |> {lib} +: foreach {lib} |> !collect_shared |> diff --git a/repos/os/src/server/cached_fs_rom/Tupfile b/repos/os/src/server/cached_fs_rom/Tupfile index cb874ecec..947e65f54 100644 --- a/repos/os/src/server/cached_fs_rom/Tupfile +++ b/repos/os/src/server/cached_fs_rom/Tupfile @@ -1,8 +1,4 @@ -TARGET_NAME = cached_fs_rom -INCLUDES += -I. - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/chroot/Tupfile b/repos/os/src/server/chroot/Tupfile index 05b36495d..947e65f54 100644 --- a/repos/os/src/server/chroot/Tupfile +++ b/repos/os/src/server/chroot/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = chroot - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/clipboard/Tupfile b/repos/os/src/server/clipboard/Tupfile index 13f6d9cd2..947e65f54 100644 --- a/repos/os/src/server/clipboard/Tupfile +++ b/repos/os/src/server/clipboard/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = clipboard - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/dynamic_rom/Tupfile b/repos/os/src/server/dynamic_rom/Tupfile index 3c6ef762e..947e65f54 100644 --- a/repos/os/src/server/dynamic_rom/Tupfile +++ b/repos/os/src/server/dynamic_rom/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = dynamic_rom - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/fs_log/Tupfile b/repos/os/src/server/fs_log/Tupfile index 5f883ddbf..947e65f54 100644 --- a/repos/os/src/server/fs_log/Tupfile +++ b/repos/os/src/server/fs_log/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = fs_log - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/fs_report/Tupfile b/repos/os/src/server/fs_report/Tupfile index 7ce4f5e5c..f5a76413e 100644 --- a/repos/os/src/server/fs_report/Tupfile +++ b/repos/os/src/server/fs_report/Tupfile @@ -1,7 +1,5 @@ -TARGET_NAME = fs_report include_rules LIBS += vfs : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/fs_rom/Tupfile b/repos/os/src/server/fs_rom/Tupfile index 72fc61643..7fd7f2218 100644 --- a/repos/os/src/server/fs_rom/Tupfile +++ b/repos/os/src/server/fs_rom/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = fs_rom - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> %d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/input_filter/Tupfile b/repos/os/src/server/input_filter/Tupfile index 3daddb571..947e65f54 100644 --- a/repos/os/src/server/input_filter/Tupfile +++ b/repos/os/src/server/input_filter/Tupfile @@ -1,8 +1,4 @@ -TARGET_NAME = input_filter -INCLUDES += -I. - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/input_merger/Tupfile b/repos/os/src/server/input_merger/Tupfile index f932a0ed2..947e65f54 100644 --- a/repos/os/src/server/input_merger/Tupfile +++ b/repos/os/src/server/input_merger/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = input_merger - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/iso9660/Tupfile b/repos/os/src/server/iso9660/Tupfile index 22257949b..947e65f54 100644 --- a/repos/os/src/server/iso9660/Tupfile +++ b/repos/os/src/server/iso9660/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = iso9660 - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/log_report/Tupfile b/repos/os/src/server/log_report/Tupfile index 462fc0a32..947e65f54 100644 --- a/repos/os/src/server/log_report/Tupfile +++ b/repos/os/src/server/log_report/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = log_report - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/mixer/Tupfile b/repos/os/src/server/mixer/Tupfile index ff02b6c35..947e65f54 100644 --- a/repos/os/src/server/mixer/Tupfile +++ b/repos/os/src/server/mixer/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = mixer - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/nic_bridge/Tupfile b/repos/os/src/server/nic_bridge/Tupfile index b1eed9ed3..c0dba2262 100644 --- a/repos/os/src/server/nic_bridge/Tupfile +++ b/repos/os/src/server/nic_bridge/Tupfile @@ -1,10 +1,5 @@ -TARGET_NAME = nic_bridge -INCLUDES += -I. include_rules - +LIBS += net : foreach *.cc |> !cxx |> %B.o {obj} -: foreach ../../lib/net/*.cc |> !cxx |> %B.o {obj} - : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/nic_dump/Tupfile b/repos/os/src/server/nic_dump/Tupfile index 40a130ca1..c0dba2262 100644 --- a/repos/os/src/server/nic_dump/Tupfile +++ b/repos/os/src/server/nic_dump/Tupfile @@ -1,10 +1,5 @@ -TARGET_NAME = nic_dump -INCLUDES += -I. include_rules LIBS += net - : foreach *.cc |> !cxx |> %B.o {obj} - : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/nic_loopback/Tupfile b/repos/os/src/server/nic_loopback/Tupfile index a513ce3cb..947e65f54 100644 --- a/repos/os/src/server/nic_loopback/Tupfile +++ b/repos/os/src/server/nic_loopback/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = nic_loopback - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/nic_router/Tupfile b/repos/os/src/server/nic_router/Tupfile index 81e96e845..c0dba2262 100644 --- a/repos/os/src/server/nic_router/Tupfile +++ b/repos/os/src/server/nic_router/Tupfile @@ -1,9 +1,5 @@ -TARGET_NAME = nic_router -INCLUDES += -I. include_rules LIBS += net - : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/nit_fb/Tupfile b/repos/os/src/server/nit_fb/Tupfile index e4d9cbd50..947e65f54 100644 --- a/repos/os/src/server/nit_fb/Tupfile +++ b/repos/os/src/server/nit_fb/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = nit_fb - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/nitpicker/Tupfile b/repos/os/src/server/nitpicker/Tupfile index d873714b9..cd5abe72a 100644 --- a/repos/os/src/server/nitpicker/Tupfile +++ b/repos/os/src/server/nitpicker/Tupfile @@ -1,10 +1,6 @@ -TARGET_NAME = nitpicker include_rules - LIBS += blit - : foreach *.cc |> !cxx |> %B.o {obj} : default.tff |> !incbin |> {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/ram_block/Tupfile b/repos/os/src/server/ram_block/Tupfile index f5dddc479..947e65f54 100644 --- a/repos/os/src/server/ram_block/Tupfile +++ b/repos/os/src/server/ram_block/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = ram_block - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/ram_fs/Tupfile b/repos/os/src/server/ram_fs/Tupfile index 1689054c7..947e65f54 100644 --- a/repos/os/src/server/ram_fs/Tupfile +++ b/repos/os/src/server/ram_fs/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = ram_fs - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/report_rom/Tupfile b/repos/os/src/server/report_rom/Tupfile index 233ba11e2..947e65f54 100644 --- a/repos/os/src/server/report_rom/Tupfile +++ b/repos/os/src/server/report_rom/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = report_rom - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/rom_block/Tupfile b/repos/os/src/server/rom_block/Tupfile index 2e28fc3df..947e65f54 100644 --- a/repos/os/src/server/rom_block/Tupfile +++ b/repos/os/src/server/rom_block/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = rom_block - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/rom_filter/Tupfile b/repos/os/src/server/rom_filter/Tupfile index c23e1c61f..947e65f54 100644 --- a/repos/os/src/server/rom_filter/Tupfile +++ b/repos/os/src/server/rom_filter/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = rom_filter - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/terminal_crosslink/Tupfile b/repos/os/src/server/terminal_crosslink/Tupfile index 771f939aa..947e65f54 100644 --- a/repos/os/src/server/terminal_crosslink/Tupfile +++ b/repos/os/src/server/terminal_crosslink/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = terminal_crosslink - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/terminal_log/Tupfile b/repos/os/src/server/terminal_log/Tupfile index d4af3ed2e..947e65f54 100644 --- a/repos/os/src/server/terminal_log/Tupfile +++ b/repos/os/src/server/terminal_log/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = terminal_log - include_rules : foreach *.cc |> !cxx |> %B.o {obj} : {obj} |> !prg |> {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/server/vfs/Tupfile b/repos/os/src/server/vfs/Tupfile new file mode 100644 index 000000000..f5a76413e --- /dev/null +++ b/repos/os/src/server/vfs/Tupfile @@ -0,0 +1,5 @@ +include_rules +LIBS += vfs +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} |> !prg |> {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/audio_out/Tupfile b/repos/os/src/test/audio_out/Tupfile index a1d2465ce..2f2f7b727 100644 --- a/repos/os/src/test/audio_out/Tupfile +++ b/repos/os/src/test/audio_out/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = test-audio_out - include_rules : foreach *.cc |> !cxx |> %B.o {obj} -: {obj} |> !prg |> test-audio_out {bin} +: {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/test/audio_out_click/Tupfile b/repos/os/src/test/audio_out_click/Tupfile index de562f276..2f2f7b727 100644 --- a/repos/os/src/test/audio_out_click/Tupfile +++ b/repos/os/src/test/audio_out_click/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = test-audio_out_click - include_rules : foreach *.cc |> !cxx |> %B.o {obj} -: {obj} |> !prg |> test-%d {bin} +: {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/test/block/Tupfile b/repos/os/src/test/block/Tupfile index c63d88bac..2f2f7b727 100644 --- a/repos/os/src/test/block/Tupfile +++ b/repos/os/src/test/block/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = test-block - include_rules : foreach *.cc |> !cxx |> %B.o {obj} -: {obj} |> !prg |> test-%d {bin} +: {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/test/block_request_stream/Tupfile b/repos/os/src/test/block_request_stream/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/block_request_stream/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/bomb/Tupfile b/repos/os/src/test/bomb/Tupfile index 69e3d37e3..2f2f7b727 100644 --- a/repos/os/src/test/bomb/Tupfile +++ b/repos/os/src/test/bomb/Tupfile @@ -1,7 +1,4 @@ -TARGET_NAME = test-bomb - include_rules : foreach *.cc |> !cxx |> %B.o {obj} -: {obj} |> !prg |> test-%d {bin} +: {obj} | |> !prg |> test-%d {bin} : {bin} |> !collect_bin |> -include &(BIN_RULES) diff --git a/repos/os/src/test/cache/Tupfile b/repos/os/src/test/cache/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/cache/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/clipboard/Tupfile b/repos/os/src/test/clipboard/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/clipboard/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/cpu_bench/Tupfile b/repos/os/src/test/cpu_bench/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/cpu_bench/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/dynamic_config/Tupfile b/repos/os/src/test/dynamic_config/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/dynamic_config/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/fault_detection/Tupfile b/repos/os/src/test/fault_detection/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/fault_detection/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/fb_bench/Tupfile b/repos/os/src/test/fb_bench/Tupfile new file mode 100644 index 000000000..2908e8ba2 --- /dev/null +++ b/repos/os/src/test/fb_bench/Tupfile @@ -0,0 +1,5 @@ +include_rules +LIBS += blit +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/framebuffer/Tupfile b/repos/os/src/test/framebuffer/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/framebuffer/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/fs_packet/Tupfile b/repos/os/src/test/fs_packet/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/fs_packet/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/fs_report/Tupfile b/repos/os/src/test/fs_report/Tupfile new file mode 100644 index 000000000..e02f4fb7c --- /dev/null +++ b/repos/os/src/test/fs_report/Tupfile @@ -0,0 +1,5 @@ +include_rules +LIBS += vfs +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/gpio_led/Tupfile b/repos/os/src/test/gpio_led/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/gpio_led/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/gpio_signal/Tupfile b/repos/os/src/test/gpio_signal/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/gpio_signal/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/immutable_rom/Tupfile b/repos/os/src/test/immutable_rom/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/immutable_rom/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/init/Tupfile b/repos/os/src/test/init/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/init/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/init_loop/Tupfile b/repos/os/src/test/init_loop/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/init_loop/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/input/Tupfile b/repos/os/src/test/input/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/input/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/input_filter/Tupfile b/repos/os/src/test/input_filter/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/input_filter/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/iso/Tupfile b/repos/os/src/test/iso/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/iso/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/loader/Tupfile b/repos/os/src/test/loader/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/loader/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/net_flood/Tupfile b/repos/os/src/test/net_flood/Tupfile new file mode 100644 index 000000000..56d7cdc7a --- /dev/null +++ b/repos/os/src/test/net_flood/Tupfile @@ -0,0 +1,5 @@ +include_rules +LIBS += net +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/nic_loopback/Tupfile b/repos/os/src/test/nic_loopback/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/nic_loopback/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/nic_stress/Tupfile b/repos/os/src/test/nic_stress/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/nic_stress/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/nitpicker/Tupfile b/repos/os/src/test/nitpicker/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/nitpicker/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/pci/Tupfile b/repos/os/src/test/pci/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/pci/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/pointer/Tupfile b/repos/os/src/test/pointer/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/pointer/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/ram_fs_chunk/Tupfile b/repos/os/src/test/ram_fs_chunk/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/ram_fs_chunk/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/report_rom/Tupfile b/repos/os/src/test/report_rom/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/report_rom/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/resource_request/Tupfile b/repos/os/src/test/resource_request/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/resource_request/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/resource_yield/Tupfile b/repos/os/src/test/resource_yield/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/resource_yield/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/rom_block/Tupfile b/repos/os/src/test/rom_block/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/rom_block/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/rtc/Tupfile b/repos/os/src/test/rtc/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/rtc/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/signal/Tupfile b/repos/os/src/test/signal/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/signal/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/slab/Tupfile b/repos/os/src/test/slab/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/slab/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/terminal_crosslink/Tupfile b/repos/os/src/test/terminal_crosslink/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/terminal_crosslink/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/terminal_echo/Tupfile b/repos/os/src/test/terminal_echo/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/terminal_echo/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/terminal_expect_send/Tupfile b/repos/os/src/test/terminal_expect_send/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/terminal_expect_send/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/timeout/Tupfile b/repos/os/src/test/timeout/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/timeout/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/trace/Tupfile b/repos/os/src/test/trace/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/trace/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/trace_logger/Tupfile b/repos/os/src/test/trace_logger/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/trace_logger/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/uart/Tupfile b/repos/os/src/test/uart/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/uart/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/utf8/Tupfile b/repos/os/src/test/utf8/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/utf8/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/vfs_stress/Tupfile b/repos/os/src/test/vfs_stress/Tupfile new file mode 100644 index 000000000..e02f4fb7c --- /dev/null +++ b/repos/os/src/test/vfs_stress/Tupfile @@ -0,0 +1,5 @@ +include_rules +LIBS += vfs +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/vmm_x86/Tupfile b/repos/os/src/test/vmm_x86/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/vmm_x86/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/repos/os/src/test/weak_ptr/Tupfile b/repos/os/src/test/weak_ptr/Tupfile new file mode 100644 index 000000000..2f2f7b727 --- /dev/null +++ b/repos/os/src/test/weak_ptr/Tupfile @@ -0,0 +1,4 @@ +include_rules +: foreach *.cc |> !cxx |> %B.o {obj} +: {obj} | |> !prg |> test-%d {bin} +: {bin} |> !collect_bin |> diff --git a/shell.nix b/shell.nix index 09da06919..4436f3b1c 100644 --- a/shell.nix +++ b/shell.nix @@ -1 +1 @@ -{ pkgs ? import { } }: pkgs.upstream.base +{ pkgs ? import { } }: pkgs.genode.base