1###########################################################################
2# playmidi Makefile for FreeBSD
3###########################################################################
4
5# ncurses usually /usr/lib, -L/usr/local/lib doesn't hurt
6# unless there's more than one ncurses floating around on your system
7LIBNC	= -L/usr/local/lib -lncurses
8
9######### NOTE:  X11R6 or newer REQUIRED
10LIBX11	= -L/usr/X11R6/lib -lXaw -lXmu -lXt -lX11 -lXext -lSM -lICE
11LIBVGA	= -L/usr/local/lib -lvgagl -lvga
12
13# ncurses is usually in /usr/include/ncurses, but you may need
14# to use /usr/local/include/ncurses depending on your setup.
15INCNC	= -I/usr/include/ncurses
16
17# just in case you keep your X includes in an odd location.
18INCX11	= -I/usr/X11R6/include -DNARROWPROTO
19
20# usually in /usr/include, but -I/usr/local/include doesn't hurt
21# unless there's more than one svgalib floating around your system.
22INCVGA	= -I/usr/local/include
23
24INCAWE  += -DVOXWARE_CONTROLLER_7_WORKING
25# awe_voice.h path
26INCAWE  += -I/usr/src/sys/i386/isa/sound
27
28# Directory where application defaults files are stored for X11 version
29XAPPDEFAULTS = /usr/X11R6/lib/X11/app-defaults
30
31INCLUDES= $(INCNC) $(INCX11) $(INCVGA) $(INCAWE)
32INSTALLDIR = /usr/local/bin
33INSTALL = install -s
34
35# if you are using the GUS Ultra driver module, add -DULTRA_DRIVER
36CFLAGS	= -Wall -pipe -fomit-frame-pointer -O2 $(INCAWE)
37LDFLAGS =
38
39OBJECTS = playmidi.o readmidi.o playevents.o \
40	  patchload.o emumidi.o io_ncurses.o
41
42XOBJECTS= playmidi.o readmidi.o playevents.o \
43	  patchload.o emumidi.o io_xaw.o
44
45#SOBJECTS= playmidi.o readmidi.o playevents.o \
46#	  patchload.o emumidi.o io_svgalib.o
47
48all: playmidi xplaymidi
49
50config:
51playmidi.h: playmidi.h-dist
52	Configure
53
54io_ncurses.o: io_ncurses.c
55	$(CC) $(CFLAGS) $(INCNC) -c io_ncurses.c -o io_ncurses.o
56
57io_xaw.o: io_xaw.c
58	$(CC) $(CFLAGS) $(INCX11) -c io_xaw.c -o io_xaw.o
59
60#io_svgalib.o: io_svgalib.c
61#	$(CC) $(CFLAGS) $(INCVGA) -c io_svgalib.c -o io_svgalib.o
62
63playmidi: .depend $(OBJECTS)
64	$(CC) $(LDFLAGS) -o playmidi $(OBJECTS) $(LIBNC)
65
66xplaymidi: .depend $(XOBJECTS)
67	$(CC) $(LDFLAGS) -o xplaymidi $(XOBJECTS) $(LIBX11)
68
69#splaymidi: .depend $(SOBJECTS)
70#	$(CC) $(LDFLAGS) -o splaymidi $(SOBJECTS) $(LIBVGA)
71
72$(INSTALLDIR)/playmidi: playmidi
73	$(INSTALL) playmidi $(INSTALLDIR)
74
75$(INSTALLDIR)/xplaymidi: xplaymidi
76	$(INSTALL) xplaymidi $(INSTALLDIR)
77
78#$(INSTALLDIR)/splaymidi: splaymidi
79#	$(INSTALL) splaymidi $(INSTALLDIR)
80
81/etc/std.o3:
82	cp -i std.o3 /etc
83
84/etc/drums.o3:
85	cp -i drums.o3 /etc
86
87/etc/std.sb:
88	cp -i std.sb /etc
89
90/etc/drums.sb:
91	cp -i drums.sb /etc
92
93$(XAPPDEFAULTS)/XPlaymidi:
94	cp -i XPlaymidi.ad $(XAPPDEFAULTS)/XPlaymidi
95
96install: $(INSTALLDIR)/playmidi \
97	 $(INSTALLDIR)/xplaymidi /etc/std.o3 /etc/drums.o3 \
98	 /etc/std.sb /etc/drums.sb $(XAPPDEFAULTS)/XPlaymidi
99
100install.novga: $(INSTALLDIR)/playmidi \
101	 $(INSTALLDIR)/xplaymidi /etc/std.o3 /etc/drums.o3 \
102	 /etc/std.sb /etc/drums.sb $(XAPPDEFAULTS)/XPlaymidi
103
104install.noX11: $(INSTALLDIR)/playmidi \
105	 /etc/std.o3 /etc/drums.o3 /etc/std.sb /etc/drums.sb
106
107install.Xonly: $(INSTALLDIR)/xplaymidi /etc/std.o3 /etc/drums.o3 \
108	 /etc/std.sb /etc/drums.sb $(XAPPDEFAULTS)/XPlaymidi
109
110install.lame: $(INSTALLDIR)/playmidi \
111	 /etc/std.o3 /etc/drums.o3 /etc/std.sb /etc/drums.sb
112
113install.man:
114	 cp playmidi.1 /usr/man/man1/
115
116clean:
117	rm -f *.o playmidi splaymidi xplaymidi a.out
118
119distclean: clean
120	rm -f .depend  *~ *.bak playmidi.h config.sed
121
122
123ifeq (.depend, $(wildcard .depend))
124.depend depend dep: playmidi.h
125	for i in *.c; do $(CPP) -M $(CFLAGS) $(INCLUDES) $$i; done >.depend
126
127include .depend
128else
129depend dep:
130	for i in *.c; do $(CPP) -M $(CFLAGS) $(INCLUDES) $$i; done >.depend
131
132.depend: playmidi.h
133	@echo
134	@echo "Bad or missing .depend running 'make depend clean'"
135	@echo
136	$(MAKE) depend clean
137	@echo
138	@echo "Successful.  Trying to make again"
139	@exit 0
140endif
141