1b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## -*-makefile-*-
264339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert## Copyright (C) 2016 and later: Unicode, Inc. and others.
364339d36f8bd4db5025fe2988eda22b491a9219cFredrik Roubert## License & terms of use: http://www.unicode.org/copyright.html
4b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Linux-specific setup
559d709d503bab6e2b61931737e662dd293b40578ccornelius## Copyright (c) 1999-2013, International Business Machines Corporation and
6b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## others. All Rights Reserved.
7b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
8b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Commands to generate dependency files
9b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruGEN_DEPS.c=  $(CC) -E -MM $(DEFS) $(CPPFLAGS)
1059d709d503bab6e2b61931737e662dd293b40578ccorneliusGEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) $(CXXFLAGS)
11b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
12b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Flags for position independent code
13b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruSHAREDLIBCFLAGS = -fPIC
14b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruSHAREDLIBCXXFLAGS = -fPIC
15b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruSHAREDLIBCPPFLAGS = -DPIC
16b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
17b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Additional flags when building libraries and with threads
18b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruTHREADSCPPFLAGS = -D_REENTRANT
19b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruLIBCPPFLAGS =
20b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
21b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Compiler switch to embed a runtime search path
2227f654740f2a26ad62a5c155af9199af9e69b889clairehoLD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN 
23b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruLD_RPATH_PRE = -Wl,-rpath,
24b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
25b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## These are the library specific LDFLAGS
26b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruLDFLAGSICUDT=-nodefaultlibs -nostdlib
27b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
28b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Compiler switch to embed a library name
29b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# The initial tab in the next line is to prevent icu-config from reading it.
30b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru	LD_SONAME = -Wl,-soname -Wl,$(notdir $(MIDDLE_SO_TARGET))
31b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#SH# # We can't depend on MIDDLE_SO_TARGET being set.
32b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#SH# LD_SONAME=
33b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
3450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho## Shared library options
3550294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoLD_SOOPTIONS= -Wl,-Bsymbolic
3650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho
37b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Shared object suffix
38b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruSO = so
39b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Non-shared intermediate object suffix
40b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruSTATIC_O = ao
41b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
42b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Compilation rules
43b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.$(STATIC_O): $(srcdir)/%.c
4454dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius	$(call SILENT_COMPILE,$(strip $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS)) -o $@ $<)
45b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.o: $(srcdir)/%.c
4654dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius	$(call SILENT_COMPILE,$(strip $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS)) -o $@ $<)
47b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
48b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.$(STATIC_O): $(srcdir)/%.cpp
4954dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius	$(call SILENT_COMPILE,$(strip $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS)) -o $@ $<)
50b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.o: $(srcdir)/%.cpp
5154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius	$(call SILENT_COMPILE,$(strip $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS)) -o $@ $<)
52b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
53b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
54b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Dependency rules
55b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.d: $(srcdir)/%.c
5654dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius	$(call ICU_MSG,(deps)) $<
57b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru	@$(SHELL) -ec '$(GEN_DEPS.c) $< \
58b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru		| sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \
59b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru		[ -s $@ ] || rm -f $@'
60b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
61b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.d: $(srcdir)/%.cpp
6254dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius	$(call ICU_MSG,(deps)) $<
63b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru	@$(SHELL) -ec '$(GEN_DEPS.cc) $< \
64b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru		| sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \
65b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru		[ -s $@ ] || rm -f $@'
66b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
67b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Versioned libraries rules
68b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
69b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION)
70b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru	$(RM) $@ && ln -s ${<F} $@
71b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
72b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru	$(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@
73b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
74b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru##  Bind internal references
75b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
76b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# LDflags that pkgdata will use
77b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruBIR_LDFLAGS= -Wl,-Bsymbolic
78b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
79b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# Dependencies [i.e. map files] for the final library
80b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruBIR_DEPS=
81b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
8250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho## Remove shared library 's'
8350294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoSTATIC_PREFIX_WHEN_USED = 
8450294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoSTATIC_PREFIX = 
8550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho
86b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## End Linux-specific setup
87b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
88