Sync with config/mh-linux.
!!! with 1 exception: LD_SONAME: MIDDLE_SO_TARGET -> FINAL_SO_TARGET

Index: source/config/mh-bsd-gcc
--- source/config/mh-bsd-gcc.orig
+++ source/config/mh-bsd-gcc
@@ -6,8 +6,8 @@
 ## others. All Rights Reserved.
 
 ## Commands to generate dependency files
-GEN_DEPS.c=	$(CC) -E -MM $(DEFS) $(CPPFLAGS)
-GEN_DEPS.cc=	$(CXX) -E -MM $(DEFS) $(CPPFLAGS)
+GEN_DEPS.c=  $(CC) -E -MM $(DEFS) $(CPPFLAGS)
+GEN_DEPS.cc= $(CXX) -E -MM $(DEFS) $(CPPFLAGS) $(CXXFLAGS)
 
 ## Flags for position independent code
 SHAREDLIBCFLAGS = -fPIC
@@ -19,11 +19,17 @@ THREADSCPPFLAGS = -D_REENTRANT
 LIBCPPFLAGS =
 
 ## Compiler switch to embed a runtime search path
-LD_RPATH=	
-LD_RPATH_PRE=	-Wl,-rpath,
+LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN 
+LD_RPATH_PRE = -Wl,-rpath,
 
+## These are the library specific LDFLAGS
+LDFLAGSICUDT=-nodefaultlibs -nostdlib
+
 ## Compiler switch to embed a library name
-LD_SONAME = -Wl,-soname -Wl,$(notdir $(MIDDLE_SO_TARGET))
+# The initial tab in the next line is to prevent icu-config from reading it.
+	LD_SONAME = -Wl,-soname -Wl,$(notdir $(FINAL_SO_TARGET))
+#SH# # We can't depend on MIDDLE_SO_TARGET being set.
+#SH# LD_SONAME=
 
 ## Shared library options
 LD_SOOPTIONS= -Wl,-Bsymbolic
@@ -35,27 +41,27 @@ STATIC_O = ao
 
 ## Compilation rules
 %.$(STATIC_O): $(srcdir)/%.c
-	$(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $<
+	$(call SILENT_COMPILE,$(strip $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS)) -o $@ $<)
 %.o: $(srcdir)/%.c
-	$(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $<
+	$(call SILENT_COMPILE,$(strip $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS)) -o $@ $<)
 
 %.$(STATIC_O): $(srcdir)/%.cpp
-	$(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $<
+	$(call SILENT_COMPILE,$(strip $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS)) -o $@ $<)
 %.o: $(srcdir)/%.cpp
-	$(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $<
+	$(call SILENT_COMPILE,$(strip $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS)) -o $@ $<)
 
 
 ## Dependency rules
 %.d: $(srcdir)/%.c
-	@echo "generating dependency information for $<"
+	$(call ICU_MSG,(deps)) $<
 	@$(SHELL) -ec '$(GEN_DEPS.c) $< \
-		| sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; \
+		| sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \
 		[ -s $@ ] || rm -f $@'
 
 %.d: $(srcdir)/%.cpp
-	@echo "generating dependency information for $<"
+	$(call ICU_MSG,(deps)) $<
 	@$(SHELL) -ec '$(GEN_DEPS.cc) $< \
-		| sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; \
+		| sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \
 		[ -s $@ ] || rm -f $@'
 
 ## Versioned libraries rules
@@ -66,7 +72,7 @@ STATIC_O = ao
 	$(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@
 
 ##  Bind internal references
- 
+
 # LDflags that pkgdata will use
 BIR_LDFLAGS= -Wl,-Bsymbolic
 
@@ -78,5 +84,4 @@ STATIC_PREFIX_WHEN_USED = 
 STATIC_PREFIX = 
 
 ## End BSD-specific setup
-
 
