--- pm_linux/Makefile 2007-07-31 19:43:11.000000000 +0200 +++ pm_linux/Makefile.oden 2007-07-31 19:42:14.000000000 +0200 @@ -32,18 +32,21 @@ # ALSALIB = # VFLAGS = -DPMNULL +VERSION=17 +CFLAGS = -fPIC + pmlib = pm_linux/libportmidi.a ptlib = porttime/libporttime.a -CC = gcc $(VFLAGS) $(PMFLAGS) -g -Ipm_common -Iporttime +CC = gcc $(CFLAGS) $(VFLAGS) $(PMFLAGS) -g -Ipm_common -Iporttime pmobjects = pm_common/pmutil.o $(versions) pm_linux/pmlinux.o \ pm_common/portmidi.o ptobjects = porttime/porttime.o porttime/ptlinux.o -current: all +current: shared all all: $(pmlib) $(ptlib) pm_test/test pm_test/sysex pm_test/midithread \ pm_test/latency pm_test/midithru pm_test/qtest pm_test/mm @@ -54,47 +57,55 @@ $(ptlib): pm_linux/Makefile $(ptobjects) ar -cr $(ptlib) $(ptobjects) +shared: $(pmobjects) $(ptobjects) + $(CC) $(CFLAGS) -shared -Wl,-soname=libportmidi.so.0 -o \ + pm_linux/libportmidi.so.0.$(VERSION) $(pmobjects) + ln -snf libportmidi.so.0.$(VERSION) pm_linux/libportmidi.so.0 + ln -snf libportmidi.so.0.$(VERSION) pm_linux/libportmidi.so + $(CC) $(CFLAGS) -shared -Wl,-soname=libporttime.so.0 -o \ + porttime/libporttime.so.0.$(VERSION) $(ptobjects) + ln -snf libporttime.so.0.$(VERSION) porttime/libporttime.so.0 + ln -snf libporttime.so.0.$(VERSION) porttime/libporttime.so + pm_linux/pmlinuxalsa.o: pm_linux/Makefile pm_linux/pmlinuxalsa.c pm_linux/pmlinuxalsa.h - $(CC) -c pm_linux/pmlinuxalsa.c -o pm_linux/pmlinuxalsa.o + $(CC) $(CFLAGS) -c pm_linux/pmlinuxalsa.c -o pm_linux/pmlinuxalsa.o -pm_test/test: pm_linux/Makefile pm_test/test.o $(pmlib) $(ptlib) - $(CC) pm_test/test.o -o pm_test/test $(pmlib) $(ptlib) $(ALSALIB) +pm_test/test: pm_linux/Makefile pm_test/test.o shared $(pmlib) $(ptlib) + $(CC) $(CFLAGS) pm_test/test.o -o pm_test/test -L./pm_linux -lportmidi -L./porttime -lporttime $(ALSALIB) -pm_test/sysex: pm_linux/Makefile pm_test/sysex.o $(pmlib) $(ptlib) - $(CC) pm_test/sysex.o -o pm_test/sysex $(pmlib) $(ptlib) $(ALSALIB) +pm_test/sysex: pm_linux/Makefile pm_test/sysex.o shared $(pmlib) $(ptlib) + $(CC) $(CFLAGS) pm_test/sysex.o -o pm_test/sysex -L./pm_linux -lportmidi -L./porttime -lporttime $(ALSALIB) -pm_test/midithread: pm_linux/Makefile pm_test/midithread.o $(pmlib) $(ptlib) - $(CC) pm_test/midithread.o -o pm_test/midithread \ - $(pmlib) $(ptlib) $(ALSALIB) +pm_test/midithread: pm_linux/Makefile pm_test/midithread.o shared $(pmlib) $(ptlib) + $(CC) $(CFLAGS) pm_test/midithread.o -o pm_test/midithread \ + -L./pm_linux -lportmidi -L./porttime -lporttime $(ALSALIB) -pm_test/latency: pm_linux/Makefile $(ptlib) pm_test/latency.o - $(CC) pm_test/latency.o -o pm_test/latency $(pmlib) $(ptlib) \ +pm_test/latency: pm_linux/Makefile shared $(ptlib) pm_test/latency.o + $(CC) $(CFLAGS) pm_test/latency.o -o pm_test/latency -L./pm_linux -lportmidi -L./porttime -lporttime \ $(ALSALIB) -lpthread -lm -pm_test/midithru: pm_linux/Makefile $(ptlib) pm_test/midithru.o - $(CC) pm_test/midithru.o -o pm_test/midithru $(pmlib) $(ptlib) \ +pm_test/midithru: pm_linux/Makefile shared $(ptlib) pm_test/midithru.o + $(CC) $(CFLAGS) pm_test/midithru.o -o pm_test/midithru -L./pm_linux -lportmidi -L./porttime -lporttime \ $(ALSALIB) -lpthread -lm -pm_test/mm: pm_linux/Makefile $(ptlib) pm_test/mm.o - $(CC) pm_test/mm.o -o pm_test/mm $(pmlib) $(ptlib) \ +pm_test/mm: pm_linux/Makefile shared $(ptlib) pm_test/mm.o + $(CC) $(CFLAGS) pm_test/mm.o -o pm_test/mm -L./pm_linux -lportmidi -L./porttime -lporttime \ $(ALSALIB) -lpthread -lm porttime/ptlinux.o: pm_linux/Makefile porttime/ptlinux.c - $(CC) -c porttime/ptlinux.c -o porttime/ptlinux.o + $(CC) $(CFLAGS) -c porttime/ptlinux.c -o porttime/ptlinux.o -pm_test/qtest: pm_linux/Makefile pm_test/qtest.o $(pmlib) $(ptlib) - $(CC) pm_test/qtest.o -o pm_test/qtest $(pmlib) $(ptlib) $(ALSALIB) +pm_test/qtest: pm_linux/Makefile pm_test/qtest.o shared $(pmlib) $(ptlib) + $(CC) $(CFLAGS) pm_test/qtest.o -o pm_test/qtest -L./pm_linux -lportmidi -L./porttime -lporttime $(ALSALIB) clean: rm -f *.o *~ core* */*.o */*.so */*~ */core* pm_test/*/pm_dll.dll rm -f *.opt *.ncb *.plg pm_win/Debug/pm_dll.lib pm_win/Release/pm_dll.lib rm -f pm_test/*.opt pm_test/*.ncb - -cleaner: clean - -cleanest: cleaner rm -f $(pmlib) $(ptlib) pm_test/test pm_test/sysex pm_test/midithread rm -f pm_test/latency pm_test/midithru pm_test/qtest pm_test/mm + rm -f pm_linux/libportmidi.a porttime/libporttime.a + rm -f pm_linux/libportmidi.so* porttime/libporttime.so* -backup: cleanest +backup: clean cd ..; zip -r portmidi.zip portmidi