]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/crtn/lib/src/Makefile
6e0e146ffeb3198649a431101914bd04f0b6bf85
[l4.git] / l4 / pkg / crtn / lib / src / Makefile
1 PKGDIR          ?= ../..
2 L4DIR           ?= $(PKGDIR)/../..
3
4 # CRT0 lib for statically linked binaries
5 SRC_C_libcrt0.a          := construction.c support.c 
6 SRC_S_libcrt0.a          := crt0_x.S
7
8 # CRT0 lib for dynamically linked binaries
9 SRC_C_libcrt0_s.a        := construction.c
10 SRC_S_libcrt0_s.a        := crt0_x.S
11
12 # Stand alone lib for initializing the EH frames in statically
13 # linked binaries (usually this in n_crt0.S
14 SRC_CC_libcrt0_eh.o.a := init_eh_frame.cc
15
16 TARGET          = libcrt0.a libcrt0_s.a libcrt0_eh.o.a
17 MYOBJS          = crt0.o
18 SYSTEMS         = x86 arm amd64 ppc32
19
20 # Setup address space model for AMD64
21 CXXFLAGS_amd64 += -mcmodel=medium
22 CFLAGS_amd64   += -mcmodel=medium
23 ASFLAGS_amd64  += -mcmodel=medium
24
25 # find the arch dependent things
26 vpath %.S  $(PKGDIR)/lib/src/ARCH-$(ARCH)
27
28 INSTALL_TARGET  = $(TARGET) $(MYOBJS)
29 KEEP_ON_CLEAN   = $(MYOBJS)
30
31 include $(L4DIR)/mk/lib.mk
32
33 crt0.o: crt0_x.o init_eh_frame.o
34         @$(LINK_MESSAGE)
35         $(VERBOSE)$(LD) $(filter-out -gc-sections,$(LDFLAGS)) -r $(filter %.o,$^) -m $(LD_EMULATION) -o $@
36
37 crt0.s.o: support.s.o .general.d
38         @$(LINK_MESSAGE)
39         $(VERBOSE)$(LD) $(LDFLAGS) -m $(LD_EMULATION) -r $(filter %.o,$^) -o $@