Index: icu46/source/config/mh-os400 |
=================================================================== |
--- icu46/source/config/mh-os400 (revision 0) |
+++ icu46/source/config/mh-os400 (revision 0) |
@@ -0,0 +1,129 @@ |
+## -*-makefile-*- |
+## OS400-specific setup (for cross build) |
+## Copyright (c) 1999-2005, International Business Machines Corporation and |
+## others. All Rights Reserved. |
+ |
+GEN_DEPS.c= $(CC1) -E -M $(DEFS) $(CPPFLAGS) |
+GEN_DEPS.cc= $(CXX1) -E -M $(DEFS) $(CPPFLAGS) |
+ |
+THREADSCPPFLAGS = -D_MULTI_THREADED |
+ |
+## Commands to compile |
+# -qTERASPACE: large pointers |
+# -qPFROPT=*STRDONLY: Strings are read-only |
+COMPILE.c= $(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS) -c -qTERASPACE=*YES -qSTGMDL=*INHERIT -qPFROPT=*STRDONLY |
+COMPILE.cc= $(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) -c -qTERASPACE=*YES -qSTGMDL=*INHERIT -qPFROPT=*STRDONLY |
+ |
+## Commands to link |
+## We need to use the C++ linker, even when linking C programs, since |
+## our libraries contain C++ code (C++ static init not called) |
+LINK.c= $(CXX) $(CXXFLAGS) $(LDFLAGS) -qOPTION='*DUPPROC *DUPVAR' |
+LINK.cc= $(CXX) $(CXXFLAGS) $(LDFLAGS) -qOPTION='*DUPPROC *DUPVAR' |
+ |
+## Commands to make a shared library |
+# -qALWLIBUPD: It allows the compiled service program to have dependencies on |
+# service programs in a different library than that specified originally |
+# by CRTSRVPGM after having used the UPDSRVPGM command. |
+# Similar to -fPIC and -install_name on other compilers, but different. |
+SHLIB.c= ld -v -qOPTION='*DUPPROC *DUPVAR' -qALWLIBUPD=*YES |
+SHLIB.cc= ld -v -qOPTION='*DUPPROC *DUPVAR' -qALWLIBUPD=*YES |
+AR = qar |
+ARFLAGS = -cuv |
+ |
+## Compiler switch to embed a runtime search path |
+LD_RPATH= -I |
+LD_RPATH_PRE= -I |
+ |
+## Make target to rebind the common library |
+## to the actual data versus the stub data |
+POST_DATA_BUILD = os400-data-rebind |
+ |
+# The stubdata directory is the same directory as the normal data library. |
+STUBDATA_LIBDIR = $(LIBDIR)/ |
+ |
+## Versioned target for a shared library. |
+FINAL_SO_TARGET = $(SO_TARGET) |
+MIDDLE_SO_TARGET = |
+ |
+# this one is for icudefs.mk's use |
+ifeq ($(ENABLE_SHARED),YES) |
+SO_TARGET_VERSION_SUFFIX = $(SO_TARGET_VERSION_MAJOR) |
+endif |
+ |
+# this one is for the individual make files and linking |
+ICULIBSUFFIX = $(SO_TARGET_VERSION_SUFFIX) |
+ |
+## object suffix |
+TO= o |
+ |
+## Shared object suffix |
+SO= so |
+## Non-shared intermediate object suffix |
+STATIC_O = o |
+ |
+## Platform command to remove or move executable target |
+RMV = del |
+## Platform commands to remove or move executable and library targets |
+INSTALL-S = cp -fph |
+INSTALL-L = $(INSTALL-S) |
+ |
+# Stub name overrides for iSeries |
+DATA_STUBNAME = dt |
+I18N_STUBNAME = in |
+CTESTFW_STUBNAME = tf |
+ |
+## Link commands to link to ICU service programs |
+LIBICUDT = $(LIBDIR)/$(LIBICU)$(DATA_STUBNAME)$(ICULIBSUFFIX).$(SO) |
+LIBICUUC = $(LIBDIR)/$(LIBICU)$(COMMON_STUBNAME)$(ICULIBSUFFIX).$(SO) |
+LIBICUI18N = $(LIBDIR)/$(LIBICU)$(I18N_STUBNAME)$(ICULIBSUFFIX).$(SO) |
+LIBICULE = $(LIBDIR)/$(LIBICU)$(LAYOUT_STUBNAME)$(ICULIBSUFFIX).$(SO) |
+LIBICULX = $(LIBDIR)/$(LIBICU)$(LAYOUTEX_STUBNAME)$(ICULIBSUFFIX).$(SO) |
+LIBCTESTFW = $(top_builddir)/tools/ctestfw/$(LIBICU)$(CTESTFW_STUBNAME)$(ICULIBSUFFIX).$(SO) |
+LIBICUTOOLUTIL = $(LIBDIR)/$(LIBICU)$(TOOLUTIL_STUBNAME)$(ICULIBSUFFIX).$(SO) |
+LIBICUIO= $(LIBDIR)/$(LIBICU)$(IO_STUBNAME)$(ICULIBSUFFIX).$(SO) |
+ |
+## Special OS400 rules |
+ |
+## Build archive from shared object |
+%.a : %.o |
+ $(AR) $(ARFLAGS) $@ $< |
+ |
+## Build import list from export list |
+%.e : %.exp |
+ @echo "Building an import list for $<" |
+ @$(SHELL) -ec "echo '#! $*.a($*.so)' | cat - $< > $@" |
+ |
+## Compilation rules |
+%.$(STATIC_O): $(srcdir)/%.c |
+ $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $< |
+%.o: $(srcdir)/%.c |
+ $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $< |
+ |
+%.$(STATIC_O): $(srcdir)/%.cpp |
+ $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $< |
+%.o: $(srcdir)/%.cpp |
+ $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $< |
+ |
+%.qwobj : $(srcdir)/%.c |
+ $(COMPILE.c) -o $@ $< |
+ |
+%.qwobj : $(srcdir)/%.cpp |
+ $(COMPILE.cc) -o $@ $< |
+ |
+## Dependency rules |
+%.d : %.u |
+# @$(SHELL) -ec 'cat $< \ |
+# | sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; \ |
+# [ -s $@ ] || rm -f $@ ; rm -f $<' |
+ |
+%.u : $(srcdir)/%.c |
+ @echo "generating dependency information for $<" |
+# @$(SHELL) -ec 'touch $*.u > /dev/null 2>&1' |
+# @$(SHELL) -ec '$(GEN_DEPS.c) -f $*.u $< > /dev/null 2>&1' |
+ |
+%.u : $(srcdir)/%.cpp |
+ @echo "generating dependency information for $<" |
+# @$(SHELL) -ec 'touch $*.u > /dev/null 2>&1' |
+# @$(SHELL) -ec '$(GEN_DEPS.cc) -f $*.u $< > /dev/null 2>&1' |
+ |
+## End OS400-specific setup |