1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/intl/icu/source/config/mh-solaris Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,98 @@ 1.4 +## -*-makefile-*- 1.5 +## Solaris-specific setup using Sun's compilers 1.6 +## Copyright (c) 1999-2010, International Business Machines Corporation and 1.7 +## others. All Rights Reserved. 1.8 + 1.9 +## Flags for position independent code 1.10 +SHAREDLIBCFLAGS = -KPIC 1.11 +SHAREDLIBCXXFLAGS = -KPIC 1.12 +SHAREDLIBCPPFLAGS = -DPIC 1.13 + 1.14 +## Commands to generate dependency files 1.15 +GEN_DEPS.c= $(CC) -xM $(DEFS) $(CPPFLAGS) 1.16 +GEN_DEPS.cc= $(CXX) -xM $(DEFS) $(CPPFLAGS) 1.17 + 1.18 +ifeq ($(UCLN_NO_AUTO_CLEANUP),0) 1.19 +# set up init point. 1.20 +UCLN_FINI = ucln_fini$(TARGET_STUBNAME)_$(SO_TARGET_VERSION_MAJOR)$(ICULIBSUFFIXCNAME) 1.21 +CPPFLAGS_FINI = -DUCLN_FINI=$(UCLN_FINI) 1.22 +LDFLAGS_FINI = -zfiniarray=$(UCLN_FINI) 1.23 + 1.24 +CPPFLAGSICUUC += $(CPPFLAGS_FINI) 1.25 +LDFLAGSICUUC += $(LDFLAGS_FINI) 1.26 +CPPFLAGSICUIO += $(CPPFLAGS_FINI) 1.27 +LDFLAGSICUIO += $(LDFLAGS_FINI) 1.28 +CPPFLAGSICUI18N += $(CPPFLAGS_FINI) 1.29 +LDFLAGSICUI18N += $(LDFLAGS_FINI) 1.30 +CPPFLAGSCTESTFW += $(CPPFLAGS_FINI) 1.31 +LDFLAGSCTESTFW += $(LDFLAGS_FINI) 1.32 + 1.33 +# ICUUC, ICUIO, ICUI18N, CTESTFW 1.34 +endif 1.35 + 1.36 +# -mt means 'compiles and links a multithreaded program' 1.37 +THREADSCFLAGS += -mt 1.38 +THREADSCXXFLAGS += -mt 1.39 + 1.40 +## Commands to link 1.41 +## For Sun Workshop, use CC to link to bring in C++ runtime 1.42 +LINK.c= $(CXX) $(CXXFLAGS) $(LDFLAGS) 1.43 +LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) 1.44 + 1.45 +## Commands to make a shared library 1.46 +SHLIB.c= $(CC) $(CFLAGS) $(LDFLAGS) -G 1.47 +SHLIB.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -G 1.48 + 1.49 +## Compiler switch to embed a runtime search path 1.50 +LD_RPATH= -R'$$'ORIGIN 1.51 +LD_RPATH_PRE= -R 1.52 + 1.53 +#LIBRARY_PATH_PREFIX=/usr/lib/lwp: 1.54 + 1.55 +## Compiler switch to embed a library name 1.56 +LD_SONAME = -h $(notdir $(MIDDLE_SO_TARGET)) 1.57 + 1.58 +## Shared object suffix 1.59 +SO= so 1.60 +## Non-shared intermediate object suffix 1.61 +STATIC_O = o 1.62 + 1.63 +## Compilation rules 1.64 +%.$(STATIC_O): $(srcdir)/%.c 1.65 + $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $< 1.66 +%.o: $(srcdir)/%.c 1.67 + $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $< 1.68 + 1.69 +%.$(STATIC_O): $(srcdir)/%.cpp 1.70 + $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $< 1.71 +%.o: $(srcdir)/%.cpp 1.72 + $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $< 1.73 + 1.74 + 1.75 +## Dependency rules 1.76 +%.d : $(srcdir)/%.c 1.77 + @echo "generating dependency information for $<" 1.78 + @$(GEN_DEPS.c) $< > $@ 1.79 + 1.80 +%.d : $(srcdir)/%.cpp 1.81 + @echo "generating dependency information for $<" 1.82 + @$(GEN_DEPS.cc) $< > $@ 1.83 + 1.84 +## Versioned libraries rules 1.85 + 1.86 +%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION) 1.87 + $(RM) $@ && ln -s ${<F} $@ 1.88 +%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR) 1.89 + $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@ 1.90 + 1.91 +# 1.92 +ifeq (strip $(GENCCODE_ASSEMBLY),) 1.93 +BIR_LDFLAGS= -Wl,-M,$(NAME).map -Wl,-B,symbolic -Wl,-B,eliminate 1.94 +BIR_DEPS= $(NAME).map 1.95 +endif 1.96 + 1.97 +## Remove shared library 's' 1.98 +STATIC_PREFIX_WHEN_USED = 1.99 +STATIC_PREFIX = 1.100 + 1.101 +## End Solaris-specific setup