$NetBSD: patch-aa,v 1.10 2015/11/18 14:09:25 ryoon Exp $

--- build/make/Makefile.orig	2015-11-09 22:12:38.000000000 +0000
+++ build/make/Makefile
@@ -151,7 +151,7 @@ $(BUILD_PFX)%.c.d: %.c
 $(BUILD_PFX)%.c.o: %.c
 	$(if $(quiet),@echo "    [CC] $@")
 	$(qexec)$(if $(CONFIG_DEPENDENCY_TRACKING),,mkdir -p $(dir $@))
-	$(qexec)$(CC) $(INTERNAL_CFLAGS) $(CFLAGS) -c -o $@ $<
+	$(qexec)${LIBTOOL} --mode=compile $(CC) $(INTERNAL_CFLAGS) $(CFLAGS) -c -o $@ $<
 
 $(BUILD_PFX)%.cc.d: %.cc
 	$(if $(quiet),@echo "    [DEP] $@")
@@ -161,7 +161,7 @@ $(BUILD_PFX)%.cc.d: %.cc
 $(BUILD_PFX)%.cc.o: %.cc
 	$(if $(quiet),@echo "    [CXX] $@")
 	$(qexec)$(if $(CONFIG_DEPENDENCY_TRACKING),,mkdir -p $(dir $@))
-	$(qexec)$(CXX) $(INTERNAL_CFLAGS) $(CXXFLAGS) -c -o $@ $<
+	$(qexec)${LIBTOOL} --mode=compile $(CXX) $(INTERNAL_CFLAGS) $(CXXFLAGS) -c -o $@ $<
 
 $(BUILD_PFX)%.cpp.d: %.cpp
 	$(if $(quiet),@echo "    [DEP] $@")
@@ -171,7 +171,7 @@ $(BUILD_PFX)%.cpp.d: %.cpp
 $(BUILD_PFX)%.cpp.o: %.cpp
 	$(if $(quiet),@echo "    [CXX] $@")
 	$(qexec)$(if $(CONFIG_DEPENDENCY_TRACKING),,mkdir -p $(dir $@))
-	$(qexec)$(CXX) $(INTERNAL_CFLAGS) $(CXXFLAGS) -c -o $@ $<
+	$(qexec)${LIBTOOL} --mode=compile $(CXX) $(INTERNAL_CFLAGS) $(CXXFLAGS) -c -o $@ $<
 
 $(BUILD_PFX)%.asm.d: %.asm
 	$(if $(quiet),@echo "    [DEP] $@")
@@ -182,7 +182,8 @@ $(BUILD_PFX)%.asm.d: %.asm
 $(BUILD_PFX)%.asm.o: %.asm
 	$(if $(quiet),@echo "    [AS] $@")
 	$(qexec)$(if $(CONFIG_DEPENDENCY_TRACKING),,mkdir -p $(dir $@))
-	$(qexec)$(AS) $(ASFLAGS) -o $@ $<
+	$(qexec)${LIBTOOL} --mode=compile --tag=CC sh strip_fPIC.sh \
+		$(AS) $(ASFLAGS) -o $@ $<
 
 $(BUILD_PFX)%.s.d: %.s
 	$(if $(quiet),@echo "    [DEP] $@")
@@ -193,7 +194,8 @@ $(BUILD_PFX)%.s.d: %.s
 $(BUILD_PFX)%.s.o: %.s
 	$(if $(quiet),@echo "    [AS] $@")
 	$(qexec)$(if $(CONFIG_DEPENDENCY_TRACKING),,mkdir -p $(dir $@))
-	$(qexec)$(AS) $(ASFLAGS) -o $@ $<
+	$(qexec)${LIBTOOL} --mode=compile --tag=CC sh strip_fPIC.sh \
+		$(AS) $(ASFLAGS) -o $@ $<
 
 .PRECIOUS: %.c.S
 %.c.S: CFLAGS += -DINLINE_ASM
@@ -258,13 +260,15 @@ define linker_template
 $(1): $(filter-out -%,$(2))
 $(1):
 	$(if $(quiet),@echo    "    [LD] $$@")
-	$(qexec)$$(LD) $$(strip $$(INTERNAL_LDFLAGS) $$(LDFLAGS) -o $$@ $(2) $(3) $$(extralibs))
+	$(qexec)${LIBTOOL} --mode=link $(CXX) $(LDFLAGS) -o $$@ \
+		$$(filter-out -lvpx,$(2)) libvpx.la $$(extralibs)
 endef
 define linkerxx_template
 $(1): $(filter-out -%,$(2))
 $(1):
 	$(if $(quiet),@echo    "    [LD] $$@")
-	$(qexec)$$(CXX) $$(strip $$(INTERNAL_LDFLAGS) $$(LDFLAGS) -o $$@ $(2) $(3) $$(extralibs))
+	$(qexec)${LIBTOOL} --mode=link ${CXX} $(LDFLAGS) -o $$@ \
+		$$(filter-out -lvpx,$(2)) libvpx.la $$(extralibs)
 endef
 # make-3.80 has a bug with expanding large input strings to the eval function,
 # which was triggered in some cases by the following component of
@@ -277,8 +281,12 @@ endef
 define install_map_template
 $(DIST_DIR)/$(1): $(2)
 	$(if $(quiet),@echo "    [INSTALL] $$@")
-	$(qexec)mkdir -p $$(dir $$@)
-	$(qexec)cp -p $$< $$@
+	$(qexec)${BSD_INSTALL_DATA} -d -m 755 $$(dir $$@)
+	$$(if $$(filter %.a,$$<), \
+	${LIBTOOL} --mode=install ${BSD_INSTALL_LIB} -c $$(patsubst %.a,%.la,$$<) $$(dir $$@), \
+	$$(if $$(filter %.h %.pc,$$<), \
+	${BSD_INSTALL_DATA} -c -m 644 $$< $$(dir $$@), \
+	${LIBTOOL} --mode=install ${BSD_INSTALL_LIB} -c -s $$< $$(dir $$@)))
 endef
 
 define archive_template
@@ -287,7 +295,9 @@ define archive_template
 # for creating them.
 $(1):
 	$(if $(quiet),@echo "    [AR] $$@")
-	$(qexec)$$(AR) $$(ARFLAGS) $$@ $$^
+	$(qexec)${LIBTOOL} --mode=link $(CC) $(LDFLAGS) -Wl,-Bsymbolic -o $$(patsubst %.a,%.la,$$@) \
+		$$(patsubst %.o,%.lo,$$?) -rpath $(PREFIX)/lib $$(extralibs) \
+		-version-info $(VERSION_MAJOR):$(VERSION_MINOR):$(VERSION_PATCH)
 endef
 
 define so_template
@@ -381,9 +391,9 @@ clean::
 	rm -f .bins .install-bins $(BINS)
 
 LIBS=$(call enabled,LIBS)
-.libs: $(LIBS)
+dot.libs: $(LIBS)
 	@touch $@
-$(foreach lib,$(filter %_g.a,$(LIBS)),$(eval $(call archive_template,$(lib))))
+$(foreach lib,$(filter %.a,$(LIBS)),$(eval $(call archive_template,$(lib))))
 $(foreach lib,$(filter %so.$(SO_VERSION_MAJOR).$(SO_VERSION_MINOR).$(SO_VERSION_PATCH),$(LIBS)),$(eval $(call so_template,$(lib))))
 $(foreach lib,$(filter %$(SO_VERSION_MAJOR).dylib,$(LIBS)),$(eval $(call dl_template,$(lib))))
 $(foreach lib,$(filter %$(SO_VERSION_MAJOR).dll,$(LIBS)),$(eval $(call dll_template,$(lib))))
@@ -392,11 +402,11 @@ INSTALL-LIBS=$(call cond_enabled,CONFIG_
 ifeq ($(MAKECMDGOALS),dist)
 INSTALL-LIBS+=$(call cond_enabled,CONFIG_INSTALL_LIBS,DIST-LIBS)
 endif
-.install-libs: .libs $(addprefix $(DIST_DIR)/,$(INSTALL-LIBS))
+.install-libs: dot.libs $(addprefix $(DIST_DIR)/,$(INSTALL-LIBS))
 	@touch $@
 
 clean::
-	rm -f .libs .install-libs $(LIBS)
+	rm -f dot.libs .install-libs $(LIBS)
 
 ifeq ($(CONFIG_EXTERNAL_BUILD),yes)
 PROJECTS=$(call enabled,PROJECTS)
@@ -447,7 +457,7 @@ ifeq ($(CONFIG_EXTERNAL_BUILD),yes)
     BUILD_TARGETS += .projects
     INSTALL_TARGETS += .install-projects
 endif
-BUILD_TARGETS += .docs .libs .bins
+BUILD_TARGETS += .docs dot.libs .bins
 INSTALL_TARGETS += .install-docs .install-srcs .install-libs .install-bins
 all: $(BUILD_TARGETS)
 install:: $(INSTALL_TARGETS)
