|  | ## -*-makefile-*- | 
|  | ## HP/UX-specific setup using CC | 
|  | ## Copyright (c) 1999-2000, International Business Machines Corporation and | 
|  | ## others. All Rights Reserved. | 
|  | ## | 
|  | ## $Id: mh-hpux-cc,v 1.25 2000/10/20 01:17:33 srl Exp $ | 
|  |  | 
|  |  | 
|  | ## This causes source/tools/pkgdata generated makefiles  to create and link | 
|  | ## in a bogus C++ file, so that exception handling with +eh will be | 
|  | ## enabled properly.  Fun. | 
|  | HPUX_JUNK_OBJ=  $(TEMP_DIR)/hpux_junk_obj.o | 
|  |  | 
|  | ## Commands to generate dependency files | 
|  | GEN_DEPS.c= 	: | 
|  | GEN_DEPS.cc= 	: | 
|  |  | 
|  | ## Commands to compile | 
|  | COMPILE.c=	$(CC)  -D__STDC__  +z -Ae $(DEFS) $(CPPFLAGS) $(CFLAGS) -c | 
|  | COMPILE.cc=	$(CXX) +dup_static_removal +d -D__STDC__  +z +a1 $(DEFS) $(CPPFLAGS) $(CXXFLAGS) -c | 
|  |  | 
|  | ## Commands to link | 
|  | ## We need to use the C++ linker, even when linking C programs, since | 
|  | ##  our libraries contain C++ code (bug in linker?) | 
|  | #LINK.c=		$(CC)  +z -Ae $(DEFS) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) | 
|  | LINK.c=	$(CXX)  +z +a1 $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -Wl,+s | 
|  | LINK.cc=	$(CXX)  +z +a1 $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -Wl,+s | 
|  |  | 
|  | ## Commands to make a shared library | 
|  | #SHLIB.c=	$(LD) $(LDFLAGS) -b | 
|  | SHLIB.c=	$(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -b -Wl,+s | 
|  | SHLIB.cc=	$(CXX) $(DEFS) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) -b -Wl,+s | 
|  |  | 
|  | ## Compiler switch to embed a runtime search path | 
|  | LD_RPATH=	-Wl,+b, | 
|  | LD_RPATH_PRE= | 
|  |  | 
|  | ## Environment variable to set a runtime search path | 
|  | LDLIBRARYPATH_ENVVAR = SHLIB_PATH | 
|  |  | 
|  | ## Compiler switch to embed a library name | 
|  | LD_SONAME = -Wl,+h,$(MIDDLE_SO_TARGET) | 
|  |  | 
|  | ## Versioned target for a shared library. | 
|  | FINAL_SO_TARGET = $(basename $(SO_TARGET)).$(SO_TARGET_VERSION) | 
|  | MIDDLE_SO_TARGET = $(basename $(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=		sl | 
|  | ## Non-shared intermediate object suffix | 
|  | STATIC_O = o | 
|  |  | 
|  | ## 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 $<" | 
|  | @$(GEN_DEPS.c) $< > $@ | 
|  |  | 
|  | %.d : $(srcdir)/%.cpp | 
|  | @echo "Generating dependency information for $<" | 
|  | @$(GEN_DEPS.cc) $< > $@ | 
|  |  | 
|  | ## Versioned libraries rules | 
|  |  | 
|  | %.$(SO_TARGET_VERSION_MAJOR): %.$(SO_TARGET_VERSION) | 
|  | $(RM) $@ && ln -s $< $@ | 
|  | %.$(SO): %.$(SO_TARGET_VERSION_MAJOR) | 
|  | $(RM) $@ && ln -s $*.$(SO_TARGET_VERSION) $@ | 
|  |  | 
|  | ## End HP/UX-specific setup | 
|  |  |