| ## -*-makefile-*- | 
 | ## OS400-specific setup (for cross build) | 
 | ## Copyright (c) 1999-2001, International Business Machines Corporation and | 
 | ## others. All Rights Reserved. | 
 | ## | 
 | ## $Id: mh-os400,v 1.14 2001/10/03 23:32:11 grhoten-oss Exp $ | 
 |  | 
 | GEN_DEPS.c=	$(CC1) -E -M $(DEFS) $(CPPFLAGS) | 
 | GEN_DEPS.cc=	$(CXX1) -E -M $(DEFS) $(CPPFLAGS) | 
 |  | 
 | ## Commands to compile | 
 | COMPILE.c=	$(CC) $(DEFS) -DOS400 -D_MULTI_THREADED $(CPPFLAGS) $(CFLAGS) -c | 
 | COMPILE.cc=	$(CXX) $(DEFS) -DOS400 -D_MULTI_THREADED $(CPPFLAGS) $(CXXFLAGS) -c | 
 |  | 
 | ## Special macro separator for compiling C++ | 
 | ## e.g. -D'U_SRCDATADIR=$(MACRO_SEPARATOR)"$(top_srcdir)/../data/"' | 
 | MACRO_SEPARATOR=\x40 | 
 |  | 
 | ## 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) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -qOPTION='*DUPPROC *DUPVAR' | 
 | LINK.cc=	$(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -qOPTION='*DUPPROC *DUPVAR' | 
 |  | 
 | ## Commands to make a shared library | 
 | SHLIB.c=   ld -v -qOPTION='*DUPPROC *DUPVAR' | 
 | SHLIB.cc=	 ld -v -qOPTION='*DUPPROC *DUPVAR' | 
 | AR = qar | 
 | ARFLAGS = -cuv | 
 |  | 
 | ## Compiler switch to embed a runtime search path | 
 | LD_RPATH=	-I | 
 | LD_RPATH_PRE=	-I | 
 |  | 
 | ## Environment variable to set a runtime search path | 
 | LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH | 
 |  | 
 | ## Versioned target for a shared library. | 
 | FINAL_SO_TARGET = $(SO_TARGET) | 
 | MIDDLE_SO_TARGET =  | 
 |  | 
 | ###  How ICU libraries are named...  ex. $(LIBICU)uc$(SO) | 
 | ## Prefix for the ICU library names | 
 | ICUPREFIX = icu | 
 | LIBICU = lib$(ICUPREFIX) | 
 | ##  object suffix | 
 | TO=		o | 
 |  | 
 | ## Shared object suffix | 
 | SO=		o | 
 | ## 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) | 
 |  | 
 | ## Link commands to link to ICU service programs | 
 | LIBICUDT = $(top_builddir)/data/libicudata.o | 
 | LIBICUUC = $(top_builddir)/common/libicuuc.o | 
 | LIBICUI18N = $(top_builddir)/i18n/libicui18n.o | 
 | LIBICULE = $(top_builddir)/layout/libicule.o | 
 | LIBCTESTFW = $(top_builddir)/tools/ctestfw/libctestfw.o | 
 | LIBICUTOOLUTIL = $(top_builddir)/tools/toolutil/libicutoolutil.o | 
 | LIBUSTDIO=      $(top_builddir)/extra/ustdio/libustdio.o | 
 |  | 
 | ## 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 |