libretro-genode/Tuprules.tup

134 lines
3.1 KiB
Plaintext
Raw Permalink Normal View History

2019-07-31 17:31:20 +02:00
export DHALL_GENODE
export DHALL_GENODE_TYPES
export DHALL_PRELUDE
export PKG_CONFIG_PATH
2019-11-13 21:04:08 +01:00
export CC
export CXX
export LD
export OBJCOPY
export AR
export AS
CC = $CC
CXX= $CXX
LD = $LD
OBJCOPY = $OBJCOPY
AR = $AR
AS = $AS
2019-07-31 17:31:20 +02:00
ERRATA_DIR=$(TUP_CWD)/errata
2019-06-29 11:46:02 +02:00
2019-07-31 17:31:20 +02:00
OUTPUTS_OUT=$(TUP_CWD)/out
2019-07-31 17:31:20 +02:00
OUT_BIN_DIR = $(OUTPUTS_OUT)/bin
OUT_PKG_DIR = $(OUTPUTS_OUT)/pkg
OUT_RAW_DIR = $(OUTPUTS_OUT)/raw
2019-06-27 11:37:22 +02:00
ifeq (@(TUP_ARCH),i386)
CC_MARCH = -march=i686 -m32
LD_MARCH = -melf_i386
2019-07-01 13:54:37 +02:00
AS_MARCH = -march=i686 --32
2019-06-27 11:37:22 +02:00
endif
ifeq (@(TUP_ARCH),x86_64)
CC_MARCH = -m64 -mcmodel=large
LD_MARCH = -melf_x86_64
endif
2019-06-29 11:46:02 +02:00
ifeq (@(TUP_ARCH),arm_v8)
CC_MARCH = -march=armv8-a
endif
2019-06-28 23:09:13 +02:00
LIBGCC = `$(CC) $(CC_MARCH) -print-libgcc-file-name`
2019-11-11 20:59:50 +01:00
!prg = |> ^o LD %o^ \
2019-06-28 23:09:13 +02:00
$(LD) $(LD_MARCH) $(LDFLAGS) \
%f \
2019-07-31 20:51:08 +02:00
`$(PKG_CONFIG) --libs $(LIBS) genode-prg` \
2019-06-28 23:09:13 +02:00
$(LIBGCC) \
-o %o \
2019-07-04 14:45:54 +02:00
|> %d
2019-06-28 23:09:13 +02:00
2019-11-11 20:59:50 +01:00
!lib = |> ^o LD %o^ \
$(LD) $(LD_MARCH) %f $(LDFLAGS) `$(PKG_CONFIG) --libs genode-lib $(LIBS)` -o %o |>
2019-06-28 23:09:13 +02:00
ifeq ($(RAW_NAME),)
RAW_NAME = $(TARGET_NAME)
endif
2019-03-07 17:52:06 +01:00
ifeq ($(BIN_NAME),)
BIN_NAME = $(TARGET_NAME)
2019-03-07 17:52:06 +01:00
endif
ifeq ($(PKG_NAME),)
PKG_NAME = $(TARGET_NAME)
2019-03-07 17:52:06 +01:00
endif
2019-07-31 17:31:20 +02:00
ifdef DEPOT_VERSION
DEPOT_VERSION = @(DEPOT_VERSION)
else
DEPOT_VERSION = current
endif
2019-03-07 17:52:06 +01:00
2019-07-31 17:31:20 +02:00
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)
2019-07-31 17:31:20 +02:00
!bin = |> |>
!pkg = |> |>
!raw = |> |>
2019-06-27 11:48:26 +02:00
&RAW_RULES = errata/raw.tup
# Rules for finalizing a locally defined raw package
2019-06-27 11:48:26 +02:00
&BIN_RULES = errata/bin.tup
# Rules for finalizing a locally defined binary package
2019-06-27 11:48:26 +02:00
&PKG_RULES = errata/pkg.tup
# Rules for finalizing a locally defined runtime package
2019-07-01 13:54:37 +02:00
!collect_bin = |> ^ COLLECT %b^ \
cp %f %o \
2019-07-31 17:31:20 +02:00
|> $(OUT_BIN_DIR)/$(BIN_NAME)/%b $(OUTPUTS_OUT)/<bin>
2019-08-01 00:35:22 +02:00
!collect_raw = |> ^ COLLECT %b^ \
cp %f %o \
|> $(OUT_RAW_DIR)/$(RAW_NAME)/%b $(OUTPUTS_OUT)/<raw>
2019-07-01 13:54:37 +02:00
AS_OPT += $(AS_MARCH)
2019-07-31 17:31:20 +02:00
LIBGCC = `$(CC) $(CC_MARCH) -print-libgcc-file-name`
2019-06-28 23:09:13 +02:00
2019-07-31 17:31:20 +02:00
PKG_CONFIG = pkg-config
2019-06-28 23:09:13 +02:00
!asm = |> ^ CC %b^ @(CC_WRAPPER) $(CC) $(DEFINES) $(CFLAGS) $(CFLAGS_%e) $(CFLAGS_%f) -D__ASSEMBLY__ $(INCLUDES) -c %f -o %o |> %B.o
2019-11-11 20:59:50 +01:00
!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
2019-07-01 13:54:37 +02:00
2019-11-11 20:59:50 +01:00
!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
2019-07-01 13:54:37 +02:00
2019-11-11 20:59:50 +01:00
!ld = |> ^o LD %o^ $(LD) $(LDFLAGS) `$(PKG_CONFIG) --libs $(LIBS)` --whole-archive --start-group %f --no-whole-archive --end-group -o %o |>
2019-06-28 23:09:13 +02:00
!strip = |> strip -o %o %f |>
2019-07-31 17:31:20 +02:00
!ln = |> ln -s %f %o |>
2019-07-31 17:31:20 +02:00
ifeq (@(TUP_ARCH),i386)
AS_MARCH = -march=i686 --32
endif
2019-07-31 17:31:20 +02:00
DEPOT_MANIFEST = $(OUTPUTS_OUT)/manifest.dhall
DHALL = dhall
2019-07-31 20:51:08 +02:00
!_index_pkg = | $(OUTPUTS_OUT)/<manifest> |> ^ Generate index.dhall^\
2019-07-13 23:43:03 +02:00
$(DHALL) <<< '{ info = (%f).indexInfo, name = "$(PKG_NAME)", version = ($(DEPOT_MANIFEST)).pkg.$(PKG_NAME).version }' > %o \
2019-07-31 17:31:20 +02:00
|> $(PKG_DIR)/index.dhall $(OUTPUTS_OUT)/index/<entry>
2019-07-13 23:43:03 +02:00
2019-07-31 20:51:08 +02:00
!index_pkg = |> |>
2019-11-15 20:35:23 +01:00
!render_runtime = |> |>
2019-11-11 20:59:50 +01:00
LIBRETRO_COMM_DIR = $(TUP_CWD)/libretro-common
GIT_VERSION = `git describe --always`
BIN_VERSION = $(GIT_VERSION)