File: Makefile

package info (click to toggle)
portmidi 20041117-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, lenny
  • size: 1,656 kB
  • ctags: 602
  • sloc: ansic: 4,822; makefile: 133
file content (96 lines) | stat: -rw-r--r-- 3,153 bytes parent folder | download
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
# MAKEFILE FOR PORTMIDI AND PORTTIME


# For debugging, define PM_CHECK_ERRORS
PMFLAGS = -DPM_CHECK_ERRORS
# Otherwise do not define PM_CHECK_ERRORS
# PMFLAGS = 

# Use this for linux alsa (0.9x) version
versions = pm_linux/pmlinuxalsa.o
ALSALIB = -lasound
VFLAGS = -DPMALSA

# Use this for null (a dummy implementation for no Midi I/O:
# versions = pmlinuxnull.o
# ALSALIB = 
# VFLAGS = -DPMNULL

pmlib = pm_linux/libportmidi.a
pmslib = pm_linux/libportmidi.so.0.0.0

ptlib = porttime/libporttime.a
ptslib = porttime/libporttime.so.0.0.0

CC = gcc $(CFLAGS) $(VFLAGS) $(PMFLAGS) -g -Ipm_common -Iporttime

INSTALL = install

pmobjects = pm_common/pmutil.o $(versions) pm_linux/pmlinux.o  \
	pm_common/portmidi.o

ptobjects = porttime/porttime.o porttime/ptlinux.o 

current: all

all: $(pmlib) $(ptlib) pm_test/test pm_test/sysex pm_test/midithread \
	pm_test/latency pm_test/midithru

$(pmlib): Makefile $(pmobjects)
	ar -cr $(pmlib) $(pmobjects)
	$(CC) -shared $(ALSALIB) $(pmobjects) -Wl,-soname -Wl,libportmidi.so.0 -o $(pmslib)

$(ptlib): Makefile $(ptobjects)
	ar -cr $(ptlib) $(ptobjects)
	$(CC) -shared $(ptobjects) -Wl,-soname -Wl,libporttime.so.0 -o $(ptslib)


pm_linux/pmlinuxalsa.o: Makefile pm_linux/pmlinuxalsa.c pm_linux/pmlinuxalsa.h
	$(CC) -c pm_linux/pmlinuxalsa.c -o pm_linux/pmlinuxalsa.o

pm_test/test: Makefile pm_test/test.o $(pmlib) $(ptlib)
	$(CC) pm_test/test.c -o pm_test/test $(pmlib) $(ptlib) $(ALSALIB)

pm_test/sysex: Makefile pm_test/sysex.o $(pmlib) $(ptlib)
	$(CC) pm_test/sysex.c -o pm_test/sysex $(pmlib) $(ptlib) $(ALSALIB)

pm_test/midithread: Makefile pm_test/midithread.o $(pmlib) $(ptlib)
	$(CC) pm_test/midithread.c -o pm_test/midithread \
        $(pmlib) $(ptlib) $(ALSALIB)

pm_test/latency: Makefile $(ptlib) pm_test/latency.o 
	$(CC) pm_test/latency.c -o pm_test/latency $(pmlib) $(ptlib) \
        $(ALSALIB) -lpthread -lm

pm_test/midithru: Makefile $(ptlib) pm_test/midithru.o 
	$(CC) pm_test/midithru.c -o pm_test/midithru $(pmlib) $(ptlib) \
        $(ALSALIB) -lpthread -lm

porttime/ptlinux.o: Makefile porttime/ptlinux.c
	$(CC) -c porttime/ptlinux.c -o porttime/ptlinux.o

install: 
	$(INSTALL) -d $(DESTDIR)/usr/include/
	$(INSTALL) -m 644 pm_common/portmidi.h $(DESTDIR)/usr/include/
	$(INSTALL) -m 644 porttime/porttime.h $(DESTDIR)/usr/include/
	$(INSTALL) -d $(DESTDIR)/usr/lib/
	$(INSTALL) -m 644 pm_linux/libportmidi* $(DESTDIR)/usr/lib/
	$(INSTALL) -m 644 porttime/libporttime* $(DESTDIR)/usr/lib/

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
	rm -f pm_linux/libportmidi.a pm_linux/libportmidi.so.0.0.0 pm_test/test pm_test/sysex \
	    pm_test/midithread pm_test/latency pm_test/midithru porttime/libporttime.a \
	    porttime/libporttime.so.0.0.0


backup: cleanest
	cd ..; zip -r portmidi.zip portmidi