|  | ## -*-makefile-*- | 
|  | ## Linux-specific setup | 
|  | ## Copyright (c) 1999-2000, International Business Machines Corporation and | 
|  | ## others. All Rights Reserved. | 
|  | ## | 
|  | ## $Id: mh-linux,v 1.23 2000/11/04 02:16:11 srl Exp $ | 
|  |  | 
|  | ## Commands to generate dependency files | 
|  | GEN_DEPS.c=	$(CC) -E -MM $(DEFS) $(CPPFLAGS) | 
|  | GEN_DEPS.cc=	$(CXX) -E -MM $(DEFS) $(CPPFLAGS) | 
|  |  | 
|  | ## Flags for position independent code | 
|  | SHAREDLIBCFLAGS = -fPIC | 
|  | SHAREDLIBCXXFLAGS = -fPIC | 
|  | SHAREDLIBCPPFLAGS = -DPIC | 
|  |  | 
|  | ## Additional flags when building libraries and with threads | 
|  | LIBCPPFLAGS = -D_REENTRANT | 
|  | THREADSCPPFLAGS = -D_REENTRANT | 
|  |  | 
|  | ## Commands to compile | 
|  | COMPILE.c=	$(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS) -c | 
|  | COMPILE.cc=	$(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) -c | 
|  |  | 
|  | ## Commands to link | 
|  | LINK.c=		$(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) | 
|  | LINK.cc=	$(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) | 
|  |  | 
|  | ## Commands to make a shared library | 
|  | SHLIB.c=	$(CC) $(DEFS) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -shared | 
|  | SHLIB.cc=	$(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -shared | 
|  |  | 
|  | ## Compiler switch to embed a runtime search path | 
|  | LD_RPATH= | 
|  | LD_RPATH_PRE=	-Wl,-rpath, | 
|  |  | 
|  | ## Environment variable to set a runtime search path | 
|  | LDLIBRARYPATH_ENVVAR = LD_LIBRARY_PATH | 
|  |  | 
|  | ## Compiler switch to embed a library name | 
|  | LD_SONAME = -Wl,-soname -Wl,$(MIDDLE_SO_TARGET) | 
|  |  | 
|  | ## Versioned target for a shared library. | 
|  | FINAL_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION) | 
|  | MIDDLE_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION_MAJOR) | 
|  |  | 
|  | ###  How ICU libraries are named...  ex. $(LIBICU)uc$(SO) | 
|  | ## Prefix for the ICU library names | 
|  | ICUPREFIX = icu | 
|  | LIBICU = lib$(ICUPREFIX) | 
|  | ## Shared object suffix | 
|  | SO = so | 
|  | ## Non-shared intermediate object suffix | 
|  | STATIC_O = ao | 
|  |  | 
|  | ## Force removal [for make clean] | 
|  | RMV = rm -rf | 
|  | ## Platform commands to remove or move executable and library targets | 
|  | INSTALL-S = $(INSTALL_PROGRAM) | 
|  | INSTALL-L = $(INSTALL_DATA) | 
|  |  | 
|  | ## Link commands to link to ICU libs | 
|  | LIBICUUC= 	-L$(top_builddir)/common -l$(ICUPREFIX)uc | 
|  | LIBICUI18N= 	-L$(top_builddir)/i18n -l$(ICUPREFIX)i18n | 
|  | LIBCTESTFW= 	-L$(top_builddir)/tools/ctestfw -lctestfw | 
|  | LIBICUTOOLUTIL=-L$(top_builddir)/tools/toolutil -l$(ICUPREFIX)toolutil | 
|  | LIBUSTDIO=      -L$(top_builddir)/extra/ustdio -lustdio | 
|  |  | 
|  | ## 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 $@ $< | 
|  |  | 
|  | ../data/%.o: ../data/%.c | 
|  | $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $< | 
|  |  | 
|  | ## Dependency rules | 
|  | %.d: $(srcdir)/%.c | 
|  | @echo "Generating dependency information for $<" | 
|  | @$(SHELL) -ec '$(GEN_DEPS.c) $< \ | 
|  | | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ | 
|  | [ -s $@ ] || rm -f $@' | 
|  |  | 
|  | %.d: $(srcdir)/%.cpp | 
|  | @echo "Generating dependency information for $<" | 
|  | @$(SHELL) -ec '$(GEN_DEPS.cc) $< \ | 
|  | | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ | 
|  | [ -s $@ ] || rm -f $@' | 
|  |  | 
|  | ## Versioned libraries rules | 
|  |  | 
|  | %.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION) | 
|  | $(RM) $@ && ln -s $< $@ | 
|  | %.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR) | 
|  | $(RM) $@ && ln -s $*.$(SO).$(SO_TARGET_VERSION) $@ | 
|  |  | 
|  | ##  Bind internal references | 
|  |  | 
|  | # LDflags that pkgdata will use | 
|  | BIR_LDFLAGS= -Wl,-Bsymbolic | 
|  |  | 
|  | # CPPflags for genccode/gencmn | 
|  | BIR_CPPFLAGS= -DU_HAVE_BIND_INTERNAL_REFERENCES | 
|  |  | 
|  | # Dependencies [i.e. map files] for the final library | 
|  | BIR_DEPS= | 
|  |  | 
|  | ## End Linux-specific setup | 
|  |  |