# Copyright (C) 2004 Tom Szilagyi # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # # $Id: Makefile,v 1.17 2006/11/26 19:42:44 tszilagyi Exp $ ##################################################################### # PLEASE CHANGE THIS to your preferred installation location! # # Change this if you want to install somewhere else. In particular # you may wish to remove the middle "local/" part of the path. INSTALL_PLUGINS_DIR = /usr/local/lib/ladspa/ INSTALL_LRDF_DIR = /usr/local/share/ladspa/rdf/ # NO EDITING below this line is required # if all you want to do is install and use the plugins. ##################################################################### # GENERAL CC = mingw32-gcc -mms-bitfields CFLAGS = -I. -O3 -Wall -fomit-frame-pointer -fstrength-reduce -funroll-loops -ffast-math -c -DPIC LDFLAGS = -nostartfiles -shared -Wl,-Bsymbolic -lm PLUGINS = tap_autopan.dll \ tap_bs2b.dll \ tap_chorusflanger.dll \ tap_deesser.dll \ tap_dynamics_m.dll \ tap_dynamics_st.dll \ tap_eq.dll \ tap_eqbw.dll \ tap_doubler.dll \ tap_pinknoise.dll \ tap_pitch.dll \ tap_reflector.dll \ tap_reverb.dll \ tap_rotspeak.dll \ tap_limiter.dll \ tap_sigmoid.dll \ tap_echo.dll \ tap_tremolo.dll \ tap_tubewarmth.dll \ tap_vibrato.dll all: $(PLUGINS) # RULES TO BUILD PLUGINS FROM C CODE AS = mingw32-as CC = mingw32-gcc -Wall -O2 -mms-bitfields DLLWRAP = mingw32-dllwrap DLLWRAP_FLAGS = --as=$(AS) --export-all --driver-name $(CC) -s tap_tremolo.dll: tap_tremolo.c tap_utils.h ladspa.h $(CC) $(CFLAGS) tap_tremolo.c -o tap_tremolo.o $(DLLWRAP) $(DLLWRAP_FLAGS) -o $@ tap_tremolo.o # $(CC) $(LDFLAGS) -o tap_tremolo.dll tap_tremolo.o tap_eq.dll: tap_eq.c tap_utils.h ladspa.h $(CC) $(CFLAGS) tap_eq.c -o tap_eq.o $(DLLWRAP) $(DLLWRAP_FLAGS) -o $@ tap_eq.o # $(CC) $(LDFLAGS) -o tap_eq.dll tap_eq.o tap_eqbw.dll: tap_eqbw.c tap_utils.h ladspa.h $(CC) $(CFLAGS) tap_eqbw.c -o tap_eqbw.o $(DLLWRAP) $(DLLWRAP_FLAGS) -o $@ tap_eqbw.o # $(CC) $(LDFLAGS) -o tap_eqbw.dll tap_eqbw.o tap_echo.dll: tap_echo.c tap_utils.h ladspa.h $(CC) $(CFLAGS) tap_echo.c -o tap_echo.o $(DLLWRAP) $(DLLWRAP_FLAGS) -o $@ tap_echo.o # $(CC) $(LDFLAGS) -o tap_echo.dll tap_echo.o tap_reverb.dll: tap_reverb.c tap_reverb.h tap_reverb_presets.h tap_utils.h ladspa.h $(CC) $(CFLAGS) tap_reverb.c -o tap_reverb.o $(DLLWRAP) $(DLLWRAP_FLAGS) -o $@ tap_reverb.o # $(CC) $(LDFLAGS) -o tap_reverb.dll tap_reverb.o tap_limiter.dll: tap_limiter.c tap_utils.h ladspa.h $(CC) $(CFLAGS) tap_limiter.c -o tap_limiter.o $(DLLWRAP) $(DLLWRAP_FLAGS) -o $@ tap_limiter.o # $(CC) $(LDFLAGS) -o tap_limiter.dll tap_limiter.o tap_autopan.dll: tap_autopan.c tap_utils.h ladspa.h $(CC) $(CFLAGS) tap_autopan.c -o tap_autopan.o $(DLLWRAP) $(DLLWRAP_FLAGS) -o $@ tap_autopan.o # $(CC) $(LDFLAGS) -o tap_autopan.dll tap_autopan.o tap_bs2b.dll: tap_bs2b.c tap_utils.h ladspa.h bs2b.h $(CC) $(CFLAGS) tap_bs2b.c -o tap_bs2b.o $(DLLWRAP) $(DLLWRAP_FLAGS) -o $@ tap_bs2b.o # $(CC) $(LDFLAGS) -o tap_bs2b.dll tap_bs2b.o tap_deesser.dll: tap_deesser.c tap_utils.h ladspa.h $(CC) $(CFLAGS) tap_deesser.c -o tap_deesser.o $(DLLWRAP) $(DLLWRAP_FLAGS) -o $@ tap_deesser.o # $(CC) $(LDFLAGS) -o tap_deesser.dll tap_deesser.o tap_vibrato.dll: tap_vibrato.c tap_utils.h ladspa.h $(CC) $(CFLAGS) tap_vibrato.c -o tap_vibrato.o $(DLLWRAP) $(DLLWRAP_FLAGS) -o $@ tap_vibrato.o # $(CC) $(LDFLAGS) -o tap_vibrato.dll tap_vibrato.o tap_rotspeak.dll: tap_rotspeak.c tap_utils.h ladspa.h $(CC) $(CFLAGS) tap_rotspeak.c -o tap_rotspeak.o $(DLLWRAP) $(DLLWRAP_FLAGS) -o $@ tap_rotspeak.o # $(CC) $(LDFLAGS) -o tap_rotspeak.dll tap_rotspeak.o tap_pitch.dll: tap_pitch.c tap_utils.h ladspa.h $(CC) $(CFLAGS) tap_pitch.c -o tap_pitch.o $(DLLWRAP) $(DLLWRAP_FLAGS) -o $@ tap_pitch.o # $(CC) $(LDFLAGS) -o tap_pitch.dll tap_pitch.o tap_dynamics_m.dll: tap_dynamics_m.c tap_dynamics_presets.h tap_utils.h ladspa.h $(CC) $(CFLAGS) tap_dynamics_m.c -o tap_dynamics_m.o $(DLLWRAP) $(DLLWRAP_FLAGS) -o $@ tap_dynamics_m.o # $(CC) $(LDFLAGS) -o tap_dynamics_m.dll tap_dynamics_m.o tap_dynamics_st.dll: tap_dynamics_st.c tap_dynamics_presets.h tap_utils.h ladspa.h $(CC) $(CFLAGS) tap_dynamics_st.c -o tap_dynamics_st.o $(DLLWRAP) $(DLLWRAP_FLAGS) -o $@ tap_dynamics_st.o # $(CC) $(LDFLAGS) -o tap_dynamics_st.dll tap_dynamics_st.o tap_reflector.dll: tap_reflector.c tap_utils.h ladspa.h $(CC) $(CFLAGS) tap_reflector.c -o tap_reflector.o $(DLLWRAP) $(DLLWRAP_FLAGS) -o $@ tap_reflector.o # $(CC) $(LDFLAGS) -o tap_reflector.dll tap_reflector.o tap_pinknoise.dll: tap_pinknoise.c tap_utils.h ladspa.h $(CC) $(CFLAGS) tap_pinknoise.c -o tap_pinknoise.o $(DLLWRAP) $(DLLWRAP_FLAGS) -o $@ tap_pinknoise.o # $(CC) $(LDFLAGS) -o tap_pinknoise.dll tap_pinknoise.o tap_doubler.dll: tap_doubler.c tap_utils.h ladspa.h $(CC) $(CFLAGS) tap_doubler.c -o tap_doubler.o $(DLLWRAP) $(DLLWRAP_FLAGS) -o $@ tap_doubler.o # $(CC) $(LDFLAGS) -o tap_doubler.dll tap_doubler.o tap_sigmoid.dll: tap_sigmoid.c tap_utils.h ladspa.h $(CC) $(CFLAGS) tap_sigmoid.c -o tap_sigmoid.o $(DLLWRAP) $(DLLWRAP_FLAGS) -o $@ tap_sigmoid.o # $(CC) $(LDFLAGS) -o tap_sigmoid.dll tap_sigmoid.o tap_tubewarmth.dll: tap_tubewarmth.c tap_utils.h ladspa.h $(CC) $(CFLAGS) tap_tubewarmth.c -o tap_tubewarmth.o $(DLLWRAP) $(DLLWRAP_FLAGS) -o $@ tap_tubewarmth.o # $(CC) $(LDFLAGS) -o tap_tubewarmth.dll tap_tubewarmth.o tap_chorusflanger.dll: tap_chorusflanger.c tap_utils.h ladspa.h $(CC) $(CFLAGS) tap_chorusflanger.c -o tap_chorusflanger.o $(DLLWRAP) $(DLLWRAP_FLAGS) -o $@ tap_chorusflanger.o # $(CC) $(LDFLAGS) -o tap_chorusflanger.dll tap_chorusflanger.o # OTHER TARGETS install: targets -mkdir -p $(INSTALL_PLUGINS_DIR) cp *.so $(INSTALL_PLUGINS_DIR) -mkdir -p $(INSTALL_LRDF_DIR) cp tap-plugins.rdf $(INSTALL_LRDF_DIR) cp tap_reverb.rdf $(INSTALL_LRDF_DIR) targets: $(PLUGINS) always: clean: -rm -f `find . -name "*.so"` -rm -f `find . -name "*.o"` -rm -f `find .. -name "*~"`