1PKGDIR ?= ../..
2L4DIR  ?= $(PKGDIR)/../../..
3
4TARGET          = l4re
5SRC_CC         := main.cc globals.cc region.cc loader.cc \
6                  loader_elf.cc mem.cc dispatcher.cc
7
8SRC_S_x86      := loader_x86.S
9SRC_S_mips     := loader_mips.S
10CXXFLAGS_x86   += -DL4_LOADER_USE_ASM_STUB=1
11CXXFLAGS_mips  += -mplt -mno-shared -DL4_LOADER_USE_ASM_STUB=1
12#CXXFLAGS_arm64 += -mcmodel=large
13
14DEFAULT_RELOC_x86   := 0xb0000000
15DEFAULT_RELOC_arm   := 0xb0000000
16DEFAULT_RELOC_arm64 := 0xc0000000
17DEFAULT_RELOC_ppc32 := 0xb0000000
18DEFAULT_RELOC_amd64 := 0x70000000
19DEFAULT_RELOC_mips  := 0x70000000
20
21MODE = sigma0
22
23PRIVATE_INCDIR      += $(SRC_DIR)/ARCH-$(ARCH)
24
25DEFINES += -DL4_CXX_NO_EXCEPTION_BACKTRACE
26
27REQUIRES_LIBS  := libc_be_minimal_log_io cxx_io cxx_libc_io libc_minimal l4re \
28                  l4re-util libsupc++_minimal libloader libc_minimal_l4re
29
30CXXFLAGS += $(CXXFLAGS_LOW_LEVEL)
31
32CXXFLAGS += $(CXXFLAGS_$(ARCH))
33SRC_S += $(SRC_S_$(ARCH))
34
35vpath %.S $(SRC_DIR)/ARCH-$(ARCH)
36
37include $(L4DIR)/mk/prog.mk
38
39