S390: Use fPIC to avoid R_390_GOT12 relocation in gcrt1.o.
[glibc.git] / sysdeps / s390 / s390-64 / Makefile
blob5909d1f7aa614f169b3ac0ee5a2cc12b4bd1e50f
1 ifeq ($(subdir),gmon)
2 sysdep_routines += s390x-mcount
3 endif
5 ifeq ($(subdir),elf)
6 CFLAGS-rtld.c += -Wno-uninitialized -Wno-unused
7 CFLAGS-dl-load.c += -Wno-unused
8 CFLAGS-dl-reloc.c += -Wno-unused
9 endif
11 ifeq ($(subdir),iconvdata)
12 ISO-8859-1_CP037_Z900-routines := iso-8859-1_cp037_z900
13 ISO-8859-1_CP037_Z900-map := gconv.map
15 UTF8_UTF32_Z9-routines := utf8-utf32-z9
16 UTF8_UTF32_Z9-map := gconv.map
18 UTF16_UTF32_Z9-routines := utf16-utf32-z9
19 UTF16_UTF32_Z9-map := gconv.map
21 UTF8_UTF16_Z9-routines := utf8-utf16-z9
22 UTF8_UTF16_Z9-map := gconv.map
24 s390x-iconv-modules = ISO-8859-1_CP037_Z900 UTF8_UTF16_Z9 UTF16_UTF32_Z9 UTF8_UTF32_Z9
26 extra-modules-left += $(s390x-iconv-modules)
27 include extra-module.mk
29 cpp-srcs-left := $(foreach mod,$(s390x-iconv-modules),$($(mod)-routines))
30 lib := iconvdata
31 include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
33 extra-objs += $(addsuffix .so, $(s390x-iconv-modules))
34 install-others += $(patsubst %, $(inst_gconvdir)/%.so, $(s390x-iconv-modules))
36 $(patsubst %, $(inst_gconvdir)/%.so, $(s390x-iconv-modules)) : \
37 $(inst_gconvdir)/%.so: $(objpfx)%.so $(+force)
38 $(do-install-program)
40 $(objpfx)gconv-modules-s390: gconv-modules $(+force)
41 cp $< $@
42 echo >> $@
43 echo "# S/390 hardware accelerated modules" >> $@
44 echo -n "module ISO-8859-1// IBM037// " >> $@
45 echo " ISO-8859-1_CP037_Z900 1" >> $@
46 echo -n "module IBM037// ISO-8859-1// " >> $@
47 echo " ISO-8859-1_CP037_Z900 1" >> $@
48 echo -n "module ISO-10646/UTF8/ UTF-32// " >> $@
49 echo " UTF8_UTF32_Z9 1" >> $@
50 echo -n "module UTF-32BE// ISO-10646/UTF8/ " >> $@
51 echo " UTF8_UTF32_Z9 1" >> $@
52 echo -n "module ISO-10646/UTF8/ UTF-32BE// " >> $@
53 echo " UTF8_UTF32_Z9 1" >> $@
54 echo -n "module UTF-16BE// UTF-32// " >> $@
55 echo " UTF16_UTF32_Z9 1" >> $@
56 echo -n "module UTF-32BE// UTF-16// " >> $@
57 echo " UTF16_UTF32_Z9 1" >> $@
58 echo -n "module INTERNAL UTF-16// " >> $@
59 echo " UTF16_UTF32_Z9 1" >> $@
60 echo -n "module UTF-32BE// UTF-16BE// " >> $@
61 echo " UTF16_UTF32_Z9 1" >> $@
62 echo -n "module INTERNAL UTF-16BE// " >> $@
63 echo " UTF16_UTF32_Z9 1" >> $@
64 echo -n "module UTF-16BE// UTF-32BE// " >> $@
65 echo " UTF16_UTF32_Z9 1" >> $@
66 echo -n "module UTF-16BE// INTERNAL " >> $@
67 echo " UTF16_UTF32_Z9 1" >> $@
68 echo -n "module UTF-16BE// ISO-10646/UTF8/ " >> $@
69 echo " UTF8_UTF16_Z9 1" >> $@
70 echo -n "module ISO-10646/UTF8/ UTF-16// " >> $@
71 echo " UTF8_UTF16_Z9 1" >> $@
72 echo -n "module ISO-10646/UTF8/ UTF-16BE// " >> $@
73 echo " UTF8_UTF16_Z9 1" >> $@
75 $(inst_gconvdir)/gconv-modules: $(objpfx)gconv-modules-s390 $(+force)
76 $(do-install)
77 ifeq (no,$(cross-compiling))
78 # Update the $(prefix)/lib/gconv/gconv-modules.cache file. This is necessary
79 # if this libc has more gconv modules than the previously installed one.
80 if test -f "$(inst_gconvdir)/gconv-modules.cache"; then \
81 LC_ALL=C \
82 $(rtld-prefix) \
83 $(common-objpfx)iconv/iconvconfig \
84 $(addprefix --prefix=,$(install_root)); \
86 else
87 @echo '*@*@*@ You should recreate $(inst_gconvdir)/gconv-modules.cache'
88 endif
90 endif