jpayne@68: ## -*-makefile-*- jpayne@68: ## Copyright (C) 2016 and later: Unicode, Inc. and others. jpayne@68: ## License & terms of use: http://www.unicode.org/copyright.html jpayne@68: ## Linux-specific setup jpayne@68: ## Copyright (c) 1999-2013, International Business Machines Corporation and jpayne@68: ## others. All Rights Reserved. jpayne@68: jpayne@68: ## Commands to generate dependency files jpayne@68: GEN_DEPS.c= $(CC) -E -MM $(DEFS) $(CPPFLAGS) jpayne@68: GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) $(CXXFLAGS) jpayne@68: jpayne@68: ## Flags for position independent code jpayne@68: SHAREDLIBCFLAGS = -fPIC jpayne@68: SHAREDLIBCXXFLAGS = -fPIC jpayne@68: SHAREDLIBCPPFLAGS = -DPIC jpayne@68: jpayne@68: ## Additional flags when building libraries and with threads jpayne@68: THREADSCPPFLAGS = -D_REENTRANT jpayne@68: LIBCPPFLAGS = jpayne@68: jpayne@68: ## Compiler switch to embed a runtime search path jpayne@68: LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN jpayne@68: LD_RPATH_PRE = -Wl,-rpath, jpayne@68: jpayne@68: ## These are the library specific LDFLAGS jpayne@68: LDFLAGSICUDT=-nodefaultlibs -nostdlib jpayne@68: jpayne@68: ## Compiler switch to embed a library name jpayne@68: # The initial tab in the next line is to prevent icu-config from reading it. jpayne@68: LD_SONAME = -Wl,-soname -Wl,$(notdir $(MIDDLE_SO_TARGET)) jpayne@68: #SH# # We can't depend on MIDDLE_SO_TARGET being set. jpayne@68: #SH# LD_SONAME= jpayne@68: jpayne@68: ## Shared library options jpayne@68: LD_SOOPTIONS= -Wl,-Bsymbolic jpayne@68: jpayne@68: ## Shared object suffix jpayne@68: SO = so jpayne@68: ## Non-shared intermediate object suffix jpayne@68: STATIC_O = ao jpayne@68: jpayne@68: ## Compilation rules jpayne@68: %.$(STATIC_O): $(srcdir)/%.c jpayne@68: $(call SILENT_COMPILE,$(strip $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS)) -o $@ $<) jpayne@68: %.o: $(srcdir)/%.c jpayne@68: $(call SILENT_COMPILE,$(strip $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS)) -o $@ $<) jpayne@68: jpayne@68: %.$(STATIC_O): $(srcdir)/%.cpp jpayne@68: $(call SILENT_COMPILE,$(strip $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS)) -o $@ $<) jpayne@68: %.o: $(srcdir)/%.cpp jpayne@68: $(call SILENT_COMPILE,$(strip $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS)) -o $@ $<) jpayne@68: jpayne@68: jpayne@68: ## Dependency rules jpayne@68: %.d: $(srcdir)/%.c jpayne@68: $(call ICU_MSG,(deps)) $< jpayne@68: @$(SHELL) -ec '$(GEN_DEPS.c) $< \ jpayne@68: | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ jpayne@68: [ -s $@ ] || rm -f $@' jpayne@68: jpayne@68: %.d: $(srcdir)/%.cpp jpayne@68: $(call ICU_MSG,(deps)) $< jpayne@68: @$(SHELL) -ec '$(GEN_DEPS.cc) $< \ jpayne@68: | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \ jpayne@68: [ -s $@ ] || rm -f $@' jpayne@68: jpayne@68: ## Versioned libraries rules jpayne@68: jpayne@68: %.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION) jpayne@68: $(RM) $@ && ln -s ${