$NetBSD: patch-aa,v 1.9 2019/07/20 19:45:57 nia Exp $

* Fix the destination directories
* Use cc(1) to link the plug-ins
* Add support for CFLAGS and LDFLAGS
* Add libtool support in install and build targets
* Add libtool support to test target

--- makefile.orig	2007-11-06 10:42:45.000000000 +0000
+++ makefile
@@ -4,9 +4,9 @@
 #
 # Change these if you want to install somewhere else.
 
-INSTALL_PLUGINS_DIR	=	/usr/lib/ladspa/
-INSTALL_INCLUDE_DIR	=	/usr/include/
-INSTALL_BINARY_DIR	=	/usr/bin/
+INSTALL_PLUGINS_DIR	=	${PREFIX}/lib/ladspa/
+INSTALL_INCLUDE_DIR	=	${PREFIX}/include/
+INSTALL_BINARY_DIR	=	${PREFIX}/bin/
 
 ###############################################################################
 #
@@ -14,9 +14,10 @@ INSTALL_BINARY_DIR	=	/usr/bin/
 #
 
 INCLUDES	=	-I.
-LIBRARIES	=	-ldl -lm
-CFLAGS		=	$(INCLUDES) -Wall -Werror -O3 -fPIC
-CXXFLAGS	=	$(CFLAGS)
+LOCAL_CPPFLAGS	=	$(INCLUDES) -fPIC $(CPPFLAGS)
+LOCAL_CFLAGS	=	$(INCLUDES) -fPIC $(CFLAGS)
+LIBRARIES	=	$(DL_LIBS) -lm
+LOCAL_LDFLAGS	=	$(LDFLAGS)
 PLUGINS		=	../plugins/amp.so				\
 			../plugins/delay.so				\
 			../plugins/filter.so				\
@@ -25,8 +26,8 @@ PLUGINS		=	../plugins/amp.so				\
 PROGRAMS	=	../bin/analyseplugin				\
 			../bin/applyplugin 				\
 			../bin/listplugins
-CC		=	cc
-CPP		=	c++
+#CC		=	cc
+#CPP		=	c++
 
 ###############################################################################
 #
@@ -34,12 +35,12 @@ CPP		=	c++
 #
 
 ../plugins/%.so:	plugins/%.c ladspa.h
-	$(CC) $(CFLAGS) -o plugins/$*.o -c plugins/$*.c
-	$(LD) -o ../plugins/$*.so plugins/$*.o -shared
+	${LIBTOOL} --tag=CC --mode=compile $(CC) $(LOCAL_CPPFLAGS) $(LOCAL_CFLAGS) -o plugins/$*.lo -c plugins/$*.c
+	${LIBTOOL} --tag=CC --mode=link $(CC) $(LOCAL_LDFLAGS) -o ../plugins/$*.la plugins/$*.lo -rpath $(INSTALL_PLUGINS_DIR) -module -avoid-version
 
 ../plugins/%.so:	plugins/%.cpp ladspa.h
-	$(CPP) $(CXXFLAGS) -o plugins/$*.o -c plugins/$*.cpp
-	$(CPP) -o ../plugins/$*.so plugins/$*.o -shared
+	${LIBTOOL} --tag=CXX --mode=compile $(CXX) $(LOCAL_CPPFLAGS) $(LOCAL_CXXFLAGS) -o plugins/$*.lo -c plugins/$*.cpp
+	${LIBTOOL} --tag=CXX --mode=link $(CXX) $(LOCAL_LDFLAGS) -o ../plugins/$*.la plugins/$*.lo -rpath $(INSTALL_PLUGINS_DIR) -module -avoid-version
 
 ###############################################################################
 #
@@ -50,59 +51,71 @@ test:	/tmp/test.wav ../snd/noise.wav alw
 	@echo ---------------------------------------------
 	@echo First listen to the white noise input signal:
 	@echo ---------------------------------------------
-	-sndfile-play ../snd/noise.wav
+	#-sndfile-play ../snd/noise.wav
 	@echo -------------------------
 	@echo Compare to plugin output.
 	@echo -------------------------
 	@echo Should be a noise band around 6000Hz, repeated quietly after 1s.
-	-sndfile-play /tmp/test.wav
+	#-sndfile-play /tmp/test.wav
 	@echo Test complete.
 
-install:	targets
-	-mkdirhier $(INSTALL_PLUGINS_DIR)
-	-mkdirhier $(INSTALL_INCLUDE_DIR)
-	-mkdirhier $(INSTALL_BINARY_DIR)
-	cp ../plugins/* $(INSTALL_PLUGINS_DIR)
-	cp ladspa.h $(INSTALL_INCLUDE_DIR)
-	cp ../bin/* $(INSTALL_BINARY_DIR)
-
-/tmp/test.wav:	targets ../snd/noise.wav
-	../bin/listplugins
-	../bin/analyseplugin ../plugins/filter.so
-	../bin/analyseplugin ../plugins/delay.so
-	../bin/analyseplugin ../plugins/sine.so
-	echo ; ../bin/analyseplugin -l ../plugins/sine.so ; echo
-	../bin/analyseplugin ../plugins/amp.so
-	../bin/analyseplugin ../plugins/noise.so
-	../bin/applyplugin	-s 1					\
-				../snd/noise.wav /tmp/test.wav		\
-				../plugins/filter.so lpf 500		\
-				../plugins/filter.so lpf 500		\
-				../plugins/sine.so sine_fcaa 6000	\
-				../plugins/delay.so delay_5s 1 0.1	\
-				../plugins/amp.so amp_mono 4		\
+install:
+	$(BSD_INSTALL_DATA_DIR) ${DESTDIR}$(INSTALL_PLUGINS_DIR)
+	$(BSD_INSTALL_DATA_DIR) ${DESTDIR}$(INSTALL_INCLUDE_DIR)
+	$(BSD_INSTALL_DATA_DIR) ${DESTDIR}$(INSTALL_BINARY_DIR)
+	${LIBTOOL} --mode=install $(BSD_INSTALL_LIB) ../plugins/*.la ${DESTDIR}$(INSTALL_PLUGINS_DIR)
+	${LIBTOOL} --mode=install $(BSD_INSTALL_DATA) ladspa.h ${DESTDIR}$(INSTALL_INCLUDE_DIR)
+	${LIBTOOL} --mode=install $(BSD_INSTALL_PROGRAM) ../bin/* ${DESTDIR}$(INSTALL_BINARY_DIR)
+
+/tmp/test.wav:	../snd/noise.wav
+	${LIBTOOL} --mode=execute ../bin/listplugins
+	${LIBTOOL} --mode=execute -dlopen ../plugins/filter.la ../bin/analyseplugin ../plugins/filter.so
+	${LIBTOOL} --mode=execute -dlopen ../plugins/delay.la ../bin/analyseplugin ../plugins/delay.so
+	${LIBTOOL} --mode=execute -dlopen ../plugins/sine.la ../bin/analyseplugin ../plugins/sine.so
+	echo ; ${LIBTOOL} --mode=execute -dlopen -dlopen ../plugins/sine.la ../bin/analyseplugin -l ../plugins/sine.so ; echo
+	${LIBTOOL} --mode=execute -dlopen ../plugins/amp.la ../bin/analyseplugin ../plugins/amp.so
+	${LIBTOOL} --mode=execute -dlopen ../plugins/noise.la../bin/analyseplugin ../plugins/noise.so
+	${LIBTOOL} --mode=execute -dlopen ../plugins/filter.la ../bin/applyplugin	-s 1		\
+								../snd/noise.wav /tmp/test.wav		\
+								../plugins/filter.so lpf 500		\
+								../plugins/filter.so lpf 500		\
+								../plugins/sine.so sine_fcaa 6000	\
+								../plugins/delay.so delay_5s 1 0.1	\
+								../plugins/amp.so amp_mono 4		\
 
-targets:	$(PLUGINS) $(PROGRAMS)
+all:	$(PLUGINS) $(PROGRAMS)
 
 ###############################################################################
 #
 # PROGRAMS
 #
 
+default.o:
+	${LIBTOOL} --tag=CC --mode=compile $(CC) -c default.c
+
+load.o:
+	${LIBTOOL} --tag=CC --mode=compile $(CC) -c load.c
+
+applyplugin.o:
+	${LIBTOOL} --tag=CC --mode=compile $(CC) -c applyplugin.c
+
+analyseplugin.o:
+	${LIBTOOL} --tag=CC --mode=compile $(CC) -c analyseplugin.c
+
+listplugins.o:
+	${LIBTOOL} --tag=CC --mode=compile $(CC) -c listplugins.c
+
+search.o:
+	${LIBTOOL} --tag=CC --mode=compile $(CC) -c search.c
+
 ../bin/applyplugin:	applyplugin.o load.o default.o
-	$(CC) $(CFLAGS) $(LIBRARIES)					\
-		-o ../bin/applyplugin					\
-		applyplugin.o load.o default.o
+	${LIBTOOL} --tag=CC --mode=link $(CC) $(LOCAL_LDFLAGS) -o $@ $(^:.o=.lo) $(LIBRARIES)					\
 
 ../bin/analyseplugin:	analyseplugin.o load.o default.o
-	$(CC) $(CFLAGS) $(LIBRARIES)					\
-		-o ../bin/analyseplugin 				\
-		analyseplugin.o load.o default.o
+	${LIBTOOL} --tag=CC --mode=link $(CC) $(LOCAL_LDFLAGS) -o $@ $(^:.o=.lo) $(LIBRARIES)
 
 ../bin/listplugins:	listplugins.o search.o
-	$(CC) $(CFLAGS) $(LIBRARIES)					\
-		-o ../bin/listplugins	 				\
-		listplugins.o search.o
+	${LIBTOOL} --tag=CC --mode=link $(CC) $(LOCAL_LDFLAGS) -o $@ $(^:.o=.lo) $(LIBRARIES)
 
 ###############################################################################
 #
