]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/ldscripts/Makefile
update
[l4.git] / l4 / pkg / ldscripts / Makefile
1 PKGDIR          ?= .
2 L4DIR           ?= $(PKGDIR)/../..
3
4 SYSTEMS         = $(SYSTEMS_PLAIN)
5
6 # Page sizes for linker
7 MAXPAGESIZE_amd64    := 0x200000
8 COMMONPAGESIZE_amd64 := 0x1000
9
10 MAXPAGESIZE_x86      := 0x1000
11 COMMONPAGESIZE_x86   := 0x1000
12
13 MAXPAGESIZE_arm      := 0x1000
14 COMMONPAGESIZE_arm   := 0x1000
15
16 MAXPAGESIZE_ppc32    := 0x1000
17 COMMONPAGESIZE_ppc32 := 0x1000
18
19 LD_SCRIPTS      = main_stat.ld main_rel.ld main_dyn.ld
20
21 # Create the wrapper binaries for programs and shared libs from uclibc
22 # source files (assemply).
23 # This is done here bacause l4sys.so already depends on the wrappers and must
24 # not depend on the whole libc package,
25 #
26 # to find the uclibc files
27 UCLIBC_ARCH_x86   := i386
28 UCLIBC_ARCH_arm   := arm
29 UCLIBC_ARCH_amd64 := x86_64
30 UCLIBC_ARCH_ppc32 := powerpc
31 UCLIBC_ARCH_sparc := sparc
32 UCLIBC_BASE       = $(PKGDIR)/../uclibc
33 UCLIBC_SYSDEPS    = $(UCLIBC_BASE)/lib/contrib/uclibc/libc/sysdeps/linux/$(UCLIBC_ARCH_$(ARCH))
34
35 PRIVATE_INCDIR    = $(PKGDIR) $(PKGDIR)/ARCH-$(ARCH)
36
37 vpath %.S $(UCLIBC_SYSDEPS)
38
39 INSTALL_TARGET  = $(LD_SCRIPTS) crti.o crtn.o crt1.o crti.s.o crtn.s.o crt1.s.o
40
41 include $(L4DIR)/mk/lib.mk
42
43 $(eval $(call BID_MAKE_RULE_template, crti_s.o, crti.S,AS))
44
45 crti.o: crti_s.o kip_addr.o
46         $(LD) -m $(LD_EMULATION) -r -o $@ $^
47
48 %.ld: $(PKGDIR)/ARCH-$(ARCH)/%.ld $(SRC_DIR)/Makefile $(SRC_DIR)/generic.h
49         @$(GEN_MESSAGE)
50         $(VERBOSE)[ "$(LDVERSION)" -lt "218" ] && \
51           CPP_ARGS="-DMAXPAGESIZE=$(MAXPAGESIZE_$(ARCH)) -DCOMMONPAGESIZE=$(COMMONPAGESIZE_$(ARCH)) -DCONSTANT(x)=x"; \
52           cpp -nostdinc -include $(SRC_DIR)/generic.h \
53               -Wno-trigraphs -Ui386 -P $$CPP_ARGS $< $@