summaryrefslogtreecommitdiff
blob: 709ec7c8456a1f8ec2e9c0f8fa9b11850ce2ff33 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
diff --git a/src/Makefile b/src/Makefile
index c339524..2166624 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -13,12 +13,12 @@ INSTALL_BINARY_DIR	=	/usr/bin/
 # GENERAL
 #
 
+CFLAGS		=	-Wall -Werror -O3
+CXXFLAGS	=	-Wall -Werror -O3
+
 INCLUDES	=	-I.
-LIBRARIES	=	-ldl -lm
-CFLAGS		=	$(INCLUDES) -Wall -Werror -O2 -fPIC 		\
-			-DDEFAULT_LADSPA_PATH=$(INSTALL_PLUGINS_DIR)
-BINFLAGS	=	-fPIE -pie
-CXXFLAGS	=	$(CFLAGS)
+DYNAMIC_LD_LIBS =	-ldl
+LIBRARIES	=	$(DYNAMIC_LD_LIBS) -lm
 PLUGINS		=	../plugins/amp.so				\
 			../plugins/delay.so				\
 			../plugins/filter.so				\
@@ -28,34 +28,25 @@ PROGRAMS	=	../bin/analyseplugin				\
 			../bin/applyplugin 				\
 			../bin/listplugins
 CC		=	cc
-CPP		=	c++
+CXX		=	c++
+MKDIR_P		=	mkdirhier
 
 ###############################################################################
 #
 # RULES TO BUILD PLUGINS FROM C OR C++ CODE
 #
 
+../plugins/filter.so:	plugins/filter.c ladspa.h gcc_exports.map
+	$(CC) $(CFLAGS) $(INCLUDES) -fPIC -o plugins/filter.o -c plugins/filter.c
+	$(CC) $(CFLAGS) $(LDFLAGS) -o ../plugins/filter.so plugins/filter.o -nostartfiles -shared -lm
+
 ../plugins/%.so:	plugins/%.c ladspa.h gcc_exports.map
-	$(CC) $(CFLAGS) -o plugins/$*.o -c plugins/$*.c
-	$(CC)	-o ../plugins/$*.so					\
-		plugins/$*.o						\
-		-shared							\
-		$(CFLAGS)						\
-		-fvisibility=hidden					\
-		-fvisibility-inlines-hidden				\
-		-s							\
-		-Wl,--version-script=gcc_exports.map			
+	$(CC) $(CFLAGS) $(INCLUDES) -fPIC -o plugins/$*.o -c plugins/$*.c
+	$(CC) $(CFLAGS) $(LDFLAGS) -o ../plugins/$*.so plugins/$*.o -nostartfiles -shared
 
 ../plugins/%.so:	plugins/%.cpp ladspa.h gcc_exports.map
-	$(CPP) $(CXXFLAGS) -o plugins/$*.o -c plugins/$*.cpp
-	$(CPP)	-o ../plugins/$*.so					\
-		plugins/$*.o						\
-		-shared							\
-		$(CXXFLAGS)						\
-		-fvisibility=hidden					\
-		-fvisibility-inlines-hidden				\
-		-s							\
-		-Wl,--version-script=gcc_exports.map			
+	$(CXX) $(CXXFLAGS) $(INCLUDES) -fPIC -o plugins/$*.o -c plugins/$*.cpp
+	$(CXX) $(LDFLAGS) -o ../plugins/$*.so plugins/$*.o -shared
 
 ###############################################################################
 #
@@ -66,7 +57,7 @@ test:	/tmp/test.wav ../snd/noise.wav always
 	@echo ---------------------------------------------
 	@echo First listen to the white noise input signal:
 	@echo ---------------------------------------------
-	-sndfile-play ../snd/noise.wav
+	@echo -sndfile-play ../snd/noise.wav
 	@echo -------------------------
 	@echo Compare to plugin output.
 	@echo -------------------------
@@ -75,12 +66,12 @@ test:	/tmp/test.wav ../snd/noise.wav always
 	@echo Test complete.
 
 install:	targets
-	-mkdir -p $(INSTALL_PLUGINS_DIR)
-	-mkdir -p $(INSTALL_INCLUDE_DIR)
-	-mkdir -p $(INSTALL_BINARY_DIR)
-	cp ../plugins/* $(INSTALL_PLUGINS_DIR)
-	cp ladspa.h $(INSTALL_INCLUDE_DIR)
-	cp ../bin/* $(INSTALL_BINARY_DIR)
+	-$(MKDIR_P) $(DESTDIR)$(INSTALL_PLUGINS_DIR)
+	-$(MKDIR_P) $(DESTDIR)$(INSTALL_INCLUDE_DIR)
+	-$(MKDIR_P) $(DESTDIR)$(INSTALL_BINARY_DIR)
+	cp ../plugins/* $(DESTDIR)$(INSTALL_PLUGINS_DIR)
+	cp ladspa.h $(DESTDIR)$(INSTALL_INCLUDE_DIR)
+	cp ../bin/* $(DESTDIR)$(INSTALL_BINARY_DIR)
 
 /tmp/test.wav:	targets ../snd/noise.wav
 	../bin/listplugins
@@ -106,19 +97,19 @@ targets:	$(PLUGINS) $(PROGRAMS)
 #
 
 ../bin/applyplugin:	applyplugin.o load.o default.o
-	$(CC) $(CFLAGS) $(BINFLAGS)					\
+	$(CC) $(CFLAGS) $(INCLUDES) $(LDFLAGS)					\
 		-o ../bin/applyplugin					\
 		applyplugin.o load.o default.o				\
 		$(LIBRARIES)
 
 ../bin/analyseplugin:	analyseplugin.o load.o default.o
-	$(CC) $(CFLAGS) $(BINFLAGS)					\
+	$(CC) $(CFLAGS) $(INCLUDES) $(LDFLAGS)					\
 		-o ../bin/analyseplugin 				\
 		analyseplugin.o load.o default.o			\
 		$(LIBRARIES)
 
 ../bin/listplugins:	listplugins.o search.o
-	$(CC) $(CFLAGS) $(BINFLAGS)					\
+	$(CC) $(CFLAGS) $(INCLUDES) $(LDFLAGS)					\
 		-o ../bin/listplugins	 				\
 		listplugins.o search.o					\
 		$(LIBRARIES)