1b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## -*-makefile-*-
2b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## BSD-specific setup (FreeBSD, OpenBSD, NetBSD, *BSD)
359d709d503bab6e2b61931737e662dd293b40578ccornelius## Copyright (c) 1999-2013, International Business Machines Corporation and
4b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## others. All Rights Reserved.
5b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
6b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Commands to generate dependency files
7b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruGEN_DEPS.c=	$(CC) -E -MM $(DEFS) $(CPPFLAGS)
8b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruGEN_DEPS.cc=	$(CXX) -E -MM $(DEFS) $(CPPFLAGS)
9b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
10b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Flags for position independent code
11b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruSHAREDLIBCFLAGS = -fPIC
12b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruSHAREDLIBCXXFLAGS = -fPIC
13b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruSHAREDLIBCPPFLAGS = -DPIC
14b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
15b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Additional flags when building libraries and with threads
16b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruTHREADSCPPFLAGS = -D_REENTRANT
17b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruLIBCPPFLAGS =
18b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
19b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Compiler switch to embed a runtime search path
20b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruLD_RPATH=	
21b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruLD_RPATH_PRE=	-Wl,-rpath,
22b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
23b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Compiler switch to embed a library name
24b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruLD_SONAME = -Wl,-soname -Wl,$(notdir $(MIDDLE_SO_TARGET))
25b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
2650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho## Shared library options
2750294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoLD_SOOPTIONS= -Wl,-Bsymbolic
2850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho
29b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Shared object suffix
30b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruSO = so
31b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Non-shared intermediate object suffix
32b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruSTATIC_O = ao
33b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
34b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Compilation rules
35b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.$(STATIC_O): $(srcdir)/%.c
36b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru	$(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $<
37b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.o: $(srcdir)/%.c
38b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru	$(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $<
39b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
40b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.$(STATIC_O): $(srcdir)/%.cpp
41b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru	$(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $<
42b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.o: $(srcdir)/%.cpp
43b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru	$(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $<
44b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
45b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
46b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Dependency rules
47b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.d: $(srcdir)/%.c
48b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru	@echo "generating dependency information for $<"
49b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru	@$(SHELL) -ec '$(GEN_DEPS.c) $< \
50b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru		| sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; \
51b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru		[ -s $@ ] || rm -f $@'
52b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
53b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.d: $(srcdir)/%.cpp
54b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru	@echo "generating dependency information for $<"
55b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru	@$(SHELL) -ec '$(GEN_DEPS.cc) $< \
56b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru		| sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; \
57b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru		[ -s $@ ] || rm -f $@'
58b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
59b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Versioned libraries rules
60b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
61b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION)
62b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru	$(RM) $@ && ln -s ${<F} $@
63b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
64b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru	$(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@
65b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
6659d709d503bab6e2b61931737e662dd293b40578ccornelius##  Bind internal references
6759d709d503bab6e2b61931737e662dd293b40578ccornelius 
6859d709d503bab6e2b61931737e662dd293b40578ccornelius# LDflags that pkgdata will use
6959d709d503bab6e2b61931737e662dd293b40578ccorneliusBIR_LDFLAGS= -Wl,-Bsymbolic
7059d709d503bab6e2b61931737e662dd293b40578ccornelius
7159d709d503bab6e2b61931737e662dd293b40578ccornelius# Dependencies [i.e. map files] for the final library
7259d709d503bab6e2b61931737e662dd293b40578ccorneliusBIR_DEPS=
7359d709d503bab6e2b61931737e662dd293b40578ccornelius
7459d709d503bab6e2b61931737e662dd293b40578ccornelius## Remove shared library 's'
7559d709d503bab6e2b61931737e662dd293b40578ccorneliusSTATIC_PREFIX_WHEN_USED = 
7659d709d503bab6e2b61931737e662dd293b40578ccorneliusSTATIC_PREFIX = 
7759d709d503bab6e2b61931737e662dd293b40578ccornelius
7859d709d503bab6e2b61931737e662dd293b40578ccornelius## End BSD-specific setup
7959d709d503bab6e2b61931737e662dd293b40578ccornelius
80b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru
81