1b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## -*-makefile-*- 2b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## HPUX/gcc specific setup 354dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius## Copyright (c) 1999-2012, 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## Common 'default' path to ensure the sanity of users. Search the current 16b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## directory, at least. 17b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruLD_DEFAULTPATH= -Wl,+b,.:'$$'ORIGIN/ 18b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 19b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho# Need to override this or we will get unworking assembly 2054dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius#GENCCODE_ASSEMBLY=-a gcc 2154dcd9b6a06071f647dac967e9e267abb9410720Craig CorneliusGENCCODE_ASSEMBLY= 22b26ce3a7367e4ed2ee7ddddcdc3f3d3377a455c2claireho 23b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru# Get some handy functions defined properly 24b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruDEFS += -D_HPUX_SOURCE -D_POSIX_C_SOURCE=199506L 25b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 26b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Commands to link 27b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## For aCC, use the C++ linker so that __shlinit gets defined 28b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruLINK.c= $(CXX) $(DEFS) $(LDFLAGS) -Wl,+s $(LD_DEFAULTPATH) 29b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruLINK.cc= $(CXX) $(DEFS) $(LDFLAGS) -Wl,+s $(LD_DEFAULTPATH) 30b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 3150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho## Shared library options 3250294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoLD_SOOPTIONS= -Wl,-Bsymbolic 3350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 34b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Commands to make a shared library 3550294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoSHLIB.c= $(CC) $(DEFS) $(CFLAGS) $(LDFLAGS) $(SHAREDLIBCXXFLAGS) -shared -Wl,+s $(LD_DEFAULTPATH) $(LD_SOOPTIONS) 3650294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoSHLIB.cc= $(CXX) $(DEFS) $(CXXFLAGS) $(LDFLAGS) $(SHAREDLIBCXXFLAGS) -shared -Wl,+s $(LD_DEFAULTPATH) $(LD_SOOPTIONS) 37b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 38b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Compiler switch to embed a runtime search path 39b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruLD_RPATH= -Wl,+b, 40b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruLD_RPATH_PRE= 41b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 42b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Compiler switch to embed a library name 43b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruLD_SONAME = -Wl,+h,$(notdir $(MIDDLE_SO_TARGET)) 44b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 45b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Environment variable to set a runtime search path 46b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruLDLIBRARYPATH_ENVVAR = SHLIB_PATH 47b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 48b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Shared object suffix 49b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruSO= sl 50b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Non-shared intermediate object suffix 51b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruSTATIC_O = o 52b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 53b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Compilation rules 54b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.$(STATIC_O): $(srcdir)/%.c 55b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $< 56b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.o: $(srcdir)/%.c 57b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $< 58b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 59b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.$(STATIC_O): $(srcdir)/%.cpp 60b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $< 61b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.o: $(srcdir)/%.cpp 62b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $< 63b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 64b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 65b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Dependency rules 66b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.d : $(srcdir)/%.c 67b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru @echo "Generating dependency information for $<" 68b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru @$(SHELL) -ec '$(GEN_DEPS.c) $< \ 69b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru | sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; \ 70b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru [ -s $@ ] || rm -f $@' 71b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 72b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.d : $(srcdir)/%.cpp 73b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru @echo "Generating dependency information for $<" 74b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru @$(SHELL) -ec '$(GEN_DEPS.cc) $< \ 75b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru | sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; \ 76b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru [ -s $@ ] || rm -f $@' 77b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 78b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## Versioned libraries rules 79b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 80b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION) 81b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru $(RM) $@ && ln -s ${<F} $@ 82b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR) 83b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@ 84b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 8550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho## Remove shared library 's' 8650294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoSTATIC_PREFIX_WHEN_USED = 8750294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoSTATIC_PREFIX = 8850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 89b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru## End HPUX/gcc specific setup 90b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 91