export DHALL_GENODE export DHALL_GENODE_TYPES export DHALL_PRELUDE export PKG_CONFIG_PATH export CC export CXX export LD export OBJCOPY export AR export AS CC = $CC CXX= $CXX LD = $LD OBJCOPY = $OBJCOPY AR = $AR AS = $AS ERRATA_DIR=$(TUP_CWD)/errata OUTPUTS_OUT=$(TUP_CWD)/out OUT_BIN_DIR = $(OUTPUTS_OUT)/bin OUT_PKG_DIR = $(OUTPUTS_OUT)/pkg OUT_RAW_DIR = $(OUTPUTS_OUT)/raw ifeq (@(TUP_ARCH),i386) CC_MARCH = -march=i686 -m32 LD_MARCH = -melf_i386 AS_MARCH = -march=i686 --32 endif ifeq (@(TUP_ARCH),x86_64) CC_MARCH = -m64 -mcmodel=large LD_MARCH = -melf_x86_64 endif ifeq (@(TUP_ARCH),arm_v8) CC_MARCH = -march=armv8-a endif LIBGCC = `$(CC) $(CC_MARCH) -print-libgcc-file-name` !prg = |> ^o LD %o^ \ $(LD) $(LD_MARCH) $(LDFLAGS) \ %f \ `$(PKG_CONFIG) --libs $(LIBS) genode-prg` \ $(LIBGCC) \ -o %o \ |> %d !lib = |> ^o LD %o^ \ $(LD) $(LD_MARCH) %f $(LDFLAGS) `$(PKG_CONFIG) --libs genode-lib $(LIBS)` -o %o |> ifeq ($(RAW_NAME),) RAW_NAME = $(TARGET_NAME) endif ifeq ($(BIN_NAME),) BIN_NAME = $(TARGET_NAME) endif ifeq ($(PKG_NAME),) PKG_NAME = $(TARGET_NAME) endif ifdef DEPOT_VERSION DEPOT_VERSION = @(DEPOT_VERSION) else DEPOT_VERSION = current endif BIN_DIR = $(OUT_BIN_DIR)/$(BIN_NAME)/$(DEPOT_VERSION) PKG_DIR = $(OUT_PKG_DIR)/$(PKG_NAME)/$(DEPOT_VERSION) RAW_DIR = $(OUT_RAW_DIR)/$(RAW_NAME)/$(DEPOT_VERSION) !bin = |> |> !pkg = |> |> !raw = |> |> &RAW_RULES = errata/raw.tup # Rules for finalizing a locally defined raw package &BIN_RULES = errata/bin.tup # Rules for finalizing a locally defined binary package &PKG_RULES = errata/pkg.tup # Rules for finalizing a locally defined runtime package !collect_bin = |> ^ COLLECT %b^ \ cp %f %o \ |> $(OUT_BIN_DIR)/$(BIN_NAME)/%b $(OUTPUTS_OUT)/ !collect_raw = |> ^ COLLECT %b^ \ cp %f %o \ |> $(OUT_RAW_DIR)/$(RAW_NAME)/%b $(OUTPUTS_OUT)/ AS_OPT += $(AS_MARCH) LIBGCC = `$(CC) $(CC_MARCH) -print-libgcc-file-name` PKG_CONFIG = pkg-config !asm = |> ^ CC %b^ @(CC_WRAPPER) $(CC) $(DEFINES) $(CFLAGS) $(CFLAGS_%e) $(CFLAGS_%f) -D__ASSEMBLY__ $(INCLUDES) -c %f -o %o |> %B.o !cc = |> ^o CC %f^ @(CC_WRAPPER) $(CC) $(DEFINES) $(CFLAGS) $(CFLAGS_%e) $(CFLAGS_%f) `$(PKG_CONFIG) --cflags $(LIBS) $(LIBS_CFLAGS)` $(INCLUDES) -c -fPIC -g %f -o %o |> %B.o !cxx = |> ^o CXX %b^ @(CC_WRAPPER) $(CXX) $(DEFINES) $(CXXFLAGS) $(CXXFLAGS_%e) $(CXXFLAGS_%f) `$(PKG_CONFIG) --cflags $(LIBS)` $(INCLUDES) -c -fPIC -g %f -o %o |> %B.o !ld = |> ^o LD %o^ $(LD) $(LDFLAGS) `$(PKG_CONFIG) --libs $(LIBS)` --whole-archive --start-group %f --no-whole-archive --end-group -o %o |> !strip = |> strip -o %o %f |> !ln = |> ln -s %f %o |> ifeq (@(TUP_ARCH),i386) AS_MARCH = -march=i686 --32 endif DEPOT_MANIFEST = $(OUTPUTS_OUT)/manifest.dhall DHALL = dhall !_index_pkg = | $(OUTPUTS_OUT)/ |> ^ Generate index.dhall^\ $(DHALL) <<< '{ info = (%f).indexInfo, name = "$(PKG_NAME)", version = ($(DEPOT_MANIFEST)).pkg.$(PKG_NAME).version }' > %o \ |> $(PKG_DIR)/index.dhall $(OUTPUTS_OUT)/index/ !index_pkg = |> |> !render_runtime = |> |> LIBRETRO_COMM_DIR = $(TUP_CWD)/libretro-common GIT_VERSION = `git describe --always` BIN_VERSION = $(GIT_VERSION)