1###########################################################################
2# playmidi Makefile  12 September 1996
3#
4# by Nathan I Laredo, laredo@gnu.ai.mit.edu
5#
6# I don't wish to assert any rights (copyright) for this Makefile.
7# This Makefile is specially designed for using "make install"
8# thousands of times (for developing), and will only install updated
9# files.  It does not write over exiting fm patch libs if you have them.
10#
11###########################################################################
12
13# ncurses usually /usr/lib, -L/usr/local/lib doesn't hurt
14# unless there's more than one ncurses floating around on your system
15LIBNC	= -lncurses
16
17######### NOTE:  X11R6 or newer REQUIRED
18#LIBX11	= -L/usr/X11R6/lib -lXaw -lXmu -lXt -lX11 -lXext -lSM -lICE
19#LIBGTK	= -L/usr/X11R6/lib -lgtk-1.1 -lgdk-1.1 -lglib-1.1 -lX11 -lXext -lm
20#LIBVGA	= -L/usr/local/lib -lvgagl -lvga
21
22# ncurses is usually in /usr/include/ncurses, but you may need
23# to use /usr/local/include/ncurses depending on your setup.
24#INCNC	= -I/usr/include/ncurses
25
26# just in case you keep your X includes in an odd location.
27#INCX11	= -I/usr/X11R6/include -DNARROWPROTO
28
29# stuff for sound blaster awe32
30INCAWE  = -DVOXWARE_CONTROLLER_7_WORKING
31# awe_voice.h path
32INCAWE  += -I.
33
34# usually in /usr/include, but -I/usr/local/include doesn't hurt
35# unless there's more than one svgalib floating around your system.
36#INCVGA	= -I/usr/local/include
37
38# Directory where application defaults files are stored for X11 version
39#XAPPDEFAULTS = /usr/X11R6/lib/X11/app-defaults
40
41INCLUDES= $(INCNC) $(INCX11) $(INCVGA) $(INCAWE)
42INSTALLDIR = ${DESTDIR}${PREFIX}/bin
43MIDI = ${DESTDIR}${PREFIX}/share/midi
44#INSTALL = install -s
45
46# if you are using the GUS Ultra driver module, add -DULTRA_DRIVER
47CFLAGS	+= -DMIDI=\"$(MIDI)\" $(INCAWE)
48#LDFLAGS =
49
50OBJECTS = playmidi.o readmidi.o playevents.o \
51	  patchload.o emumidi.o io_ncurses.o
52
53XOBJECTS= playmidi.o readmidi.o playevents.o \
54	  patchload.o emumidi.o io_xaw.o
55
56SOBJECTS= playmidi.o readmidi.o playevents.o \
57	  patchload.o emumidi.o io_svgalib.o
58
59GOBJECTS= playmidi.o readmidi.o playevents.o \
60	  patchload.o emumidi.o io_gtk.o
61
62all: playmidi #xplaymidi
63
64config:
65playmidi.h: playmidi.h-dist
66	./Configure
67
68io_ncurses.o: io_ncurses.c
69	$(CC) $(CFLAGS) $(INCNC) -c io_ncurses.c -o io_ncurses.o
70
71io_xaw.o: io_xaw.c
72	$(CC) $(CFLAGS) $(INCX11) -c io_xaw.c -o io_xaw.o
73
74io_svgalib.o: io_svgalib.c
75	$(CC) $(CFLAGS) $(INCVGA) -c io_svgalib.c -o io_svgalib.o
76
77playmidi: $(OBJECTS)
78	$(CC) $(LDFLAGS) -o playmidi $(OBJECTS) $(LIBNC)
79
80xplaymidi: $(XOBJECTS)
81	$(CC) $(LDFLAGS) -o xplaymidi $(XOBJECTS) $(LIBX11)
82
83gtkplaymidi: $(GOBJECTS)
84	$(CC) $(LDFLAGS) -o gtkplaymidi $(GOBJECTS) $(LIBGTK)
85
86splaymidi: $(SOBJECTS)
87	$(CC) $(LDFLAGS) -o splaymidi $(SOBJECTS) $(LIBVGA)
88
89$(INSTALLDIR)/playmidi: playmidi
90	${BSD_INSTALL_PROGRAM} playmidi $(INSTALLDIR)
91
92$(INSTALLDIR)/xplaymidi: xplaymidi
93	${BSD_INSTALL_PROGRAM} xplaymidi $(INSTALLDIR)
94
95$(INSTALLDIR)/gtkplaymidi: gtkplaymidi
96	${BSD_INSTALL_PROGRAM} gtkplaymidi $(INSTALLDIR)
97
98$(INSTALLDIR)/splaymidi: splaymidi
99	${BSD_INSTALL_PROGRAM} splaymidi $(INSTALLDIR)
100
101$(MIDI)/std.o3:
102	${BSD_INSTALL_DATA} std.o3 $(MIDI)
103
104$(MIDI)/drums.o3:
105	${BSD_INSTALL_DATA} drums.o3 $(MIDI)
106
107$(MIDI)/std.sb:
108	${BSD_INSTALL_DATA} std.sb $(MIDI)
109
110$(MIDI)/drums.sb:
111	${BSD_INSTALL_DATA} drums.sb $(MIDI)
112
113$(XAPPDEFAULTS)/XPlaymidi:
114	${BSD_INSTALL_DATA} XPlaymidi.ad $(XAPPDEFAULTS)/XPlaymidi
115
116dirs:
117	-@mkdir -p $(MIDI)
118
119install: dirs $(INSTALLDIR)/playmidi $(INSTALLDIR)/splaymidi \
120	 $(INSTALLDIR)/xplaymidi $(MIDI)/std.o3 $(MIDI)/drums.o3 \
121	 $(MIDI)/std.sb $(MIDI)/drums.sb $(XAPPDEFAULTS)/XPlaymidi
122
123install.novga: dirs $(INSTALLDIR)/playmidi \
124	 $(INSTALLDIR)/xplaymidi $(MIDI)/std.o3 $(MIDI)/drums.o3 \
125	 $(MIDI)/std.sb $(MIDI)/drums.sb $(XAPPDEFAULTS)/XPlaymidi
126
127install.noX11: dirs $(INSTALLDIR)/playmidi $(INSTALLDIR)/splaymidi \
128	 $(MIDI)/std.o3 $(MIDI)/drums.o3 \
129	 $(MIDI)/std.sb $(MIDI)/drums.sb
130
131install.Xonly: dirs $(INSTALLDIR)/xplaymidi \
132	 $(MIDI)/std.o3 $(MIDI)/drums.o3 \
133	 $(MIDI)/std.sb $(MIDI)/drums.sb $(XAPPDEFAULTS)/XPlaymidi
134
135install.lame: dirs $(INSTALLDIR)/playmidi \
136	 $(MIDI)/std.o3 $(MIDI)/drums.o3 \
137	 $(MIDI)/std.sb $(MIDI)/drums.sb
138
139install.man:
140	 ${BSD_INSTALL_MAN} playmidi.1 ${DESTDIR}${PREFIX}/man/man1/
141
142clean:
143	rm -f *.o playmidi splaymidi xplaymidi a.out toy seq2mid beat
144
145distclean: clean
146	rm -f .depend  *~ *.bak playmidi.h config.sed
147
148