chiark / gitweb /
Debianize new mup version
[mup] / mup / makefile
CommitLineData
fac14bbe
MW
1
2# Makefile for Mup (and auxiliary programs mupdisp, mkmupfnt, and mupmate).
3# This is not an optimal makefile; instead it tries to be very simple,
4# and easy to understand, so it can be easily modified, if needed.
5
6# On most Linux/Unix type systems, just doing
7# make install
8# as root will probably work.
9# (You really only need to be root to copy the products into
10# the system directories. If you change PREFIX
11# to point to some other writeable area, you wouldn't need to be root.)
12# If you only want the Mup program itself, you can do
13# make mup/mup
14# The other programs are optional:
15# - mupdisp runs Mup and then runs GhostScript on the result.
16# You can run Mup directly, and use gv, GSview, ghostview or any other
17# PostScript viewer on the Mup output, as an alternative to mupdisp.
18# - mkmupfnt is only needed if you want to use fonts beyond the basic
19# standard PostScript fonts.
20# - mupmate is a graphical user interface front end for Mup.
21# It is not needed if you intend to only use Mup via command line interface.
22
23# The mupdisp and mupmate programs require X libraries and headers (www.x.org).
24# The mupmate program requires FLTK libraries and headers (www.fltk.org).
25
26# If you want mupdisp to support Linux console mode, make sure you have
27# the svgalib package installed, then find the two commented-out lines below
28# related to Linux console support, and uncomment them.
29
30
31# Lines you might conceivably want to change have comments by them,
32# explaining how you might want to change them.
33# Any line without any comment by it is very unlikely to ever need changing.
34
35#-----------------------------------------------------------------------
36
37# These define where to put the Mup products.
38# You could change this to /usr/local or your own space if you like.
39PREFIX = /usr
40BINDIR = $(PREFIX)/bin
6e55bb42
MW
41MANDIR = $(PREFIX)/share/man/man1
42DOCDIR = $(PREFIX)/share/doc/mup
fac14bbe
MW
43
44# This is the name of your C compiler.
45# cc would be another common choice.
46CCOMPILER = gcc
47
48# This is the name of your C++ compiler.
49# CC would be another common choice.
50CPPCOMPILER = g++
51
52# -O option turns on optimization for most C compilers.
53# You can add other options, if you like, as appropriate for your C compiler.
54# Another common addition would be -g to get debugging information.
6e55bb42 55CFLAGS = -O2 -g
fac14bbe
MW
56
57# You can change this if your X libraries and headers are somewhere else
58# (like /usr/X11R6).
59X_LOCATION = /usr/X11
60
61# The FLTK header files are under $(FLTK_INCLUDE)/FL
62FLTK_INCLUDE = $(X_LOCATION)/include
63
64# You can use fltk_jpeg or jpeg library, whichever you have
6e55bb42 65JPEGLIB = jpeg
fac14bbe
MW
66
67# You can use fltk_png or png library, whichever you have
6e55bb42 68PNGLIB = png
fac14bbe
MW
69
70# You can use fltk_z or z library, whichever you have
6e55bb42 71ZLIB = z
fac14bbe
MW
72
73#-----------------------------------------------------------------------
74
75MUP_SRC = \
76 mup/abshorz.c \
77 mup/absvert.c \
78 mup/assign.c \
79 mup/beaming.c \
80 mup/beamstem.c \
81 mup/brac.c \
82 mup/charinfo.c \
83 mup/check.c \
84 mup/debug.c \
85 mup/errors.c \
86 mup/extchtbl.c \
87 mup/font.c \
88 mup/fontdata.c \
89 mup/globals.c \
90 mup/grpsyl.c \
91 mup/ifgram.c \
92 mup/lex.c \
93 mup/locvar.c \
94 mup/lyrics.c \
95 mup/macros.c \
96 mup/main.c \
97 mup/mainlist.c \
98 mup/map.c \
99 mup/midi.c \
100 mup/midiutil.c \
101 mup/mkchords.c \
102 mup/muschtbl.c \
103 mup/nxtstrch.c \
104 mup/parstssv.c \
105 mup/parstuff.c \
106 mup/phrase.c \
107 mup/plutils.c \
108 mup/print.c \
109 mup/prntdata.c \
110 mup/prntmisc.c \
111 mup/prnttab.c \
112 mup/prolog.c \
113 mup/range.c \
114 mup/rational.c \
115 mup/relvert.c \
116 mup/restsyl.c \
117 mup/roll.c \
118 mup/setgrps.c \
119 mup/setnotes.c \
120 mup/ssv.c \
121 mup/stuff.c \
122 mup/symtbl.c \
123 mup/tie.c \
124 mup/trantab.c \
125 mup/trnspose.c \
126 mup/undrscre.c \
127 mup/utils.c \
128 mup/ytab.c
129
130MUP_HDRS = \
131 mup/defines.h \
132 mup/extchar.h \
133 mup/globals.h \
134 mup/muschar.h \
135 mup/rational.h \
136 mup/ssvused.h \
137 mup/structs.h \
138 mup/ytab.h
139
140MUPDISP_SRC = \
141 mupdisp/at386.c \
142 mupdisp/do_cmd.c \
143 mupdisp/dos.c \
144 mupdisp/genfile.c \
145 mupdisp/init.c \
146 mupdisp/linvga.c \
147 mupdisp/mupdisp.c \
148 mupdisp/xterm.c
149
150MUPDISP_HDRS = mupdisp/dispttyp.h mupdisp/mupdisp.h
151
152MUPDISP_BITMAPS = mupdisp/help.bm mupdisp/waitmsg.bm
153
154MKMUPFNT_SRC = mkmupfnt/mkmupfnt.c
155
156MUPMATE_SRC = \
157 mupmate/Config.C \
158 mupmate/Edit.C \
159 mupmate/File.C \
160 mupmate/Help.C \
161 mupmate/Main.C \
162 mupmate/Preferences.C \
163 mupmate/Run.C \
164 mupmate/utils.C \
165 mupmate/license.C \
166 mupmate/regform.C \
167 mupmate/template.C
168
169MUPMATE_HDRS = \
170 mupmate/Config.H \
171 mupmate/Edit.H \
172 mupmate/File.H \
173 mupmate/Help.H \
174 mupmate/Main.H \
175 mupmate/Preferences.H \
176 mupmate/Run.H \
177 mupmate/utils.H \
178 mupmate/globals.H \
179 mupmate/resource.h
180
181MUPMATE_OTHER_FILES = \
182 mupmate/mup32.xpm
183#---------------------------------------------------------------
184
185all: mup/mup mupdisp/mupdisp mkmupfnt/mkmupfnt mupmate/mupmate
186
187mup/mup: $(MUP_HDRS) $(MUP_SRC)
188 $(CCOMPILER) $(CFLAGS) -o $@ $(MUP_SRC) -lm
189
190mupdisp/mupdisp: $(MUPDISP_HDRS) $(MUPDISP_BITMAPS) $(MUPDISP_SRC)
191 $(CCOMPILER) $(CFLAGS) -L$(X_LOCATION)/lib -o $@ -DNO_VGA_LIB $(MUPDISP_SRC) -lX11
192 # For Linux console mode support, comment out the previous line
193 # and uncomment the following line
194 # $(CCOMPILER) $(CFLAGS) -L$(X_LOCATION)/lib -o $@ $(MUPDISP_SRC) -lvga -lX11 -lm
195
196mkmupfnt/mkmupfnt: $(MKMUPFNT_SRC)
197 $(CCOMPILER) $(CFLAGS) -o $@ $(MKMUPFNT_SRC)
198
199mupmate/mupmate: $(MUPMATE_SRC) $(MUPMATE_HDRS) $(MUPMATE_OTHER_FILES)
200 $(CPPCOMPILER) $(CFLAGS) -o $@ $(MUPMATE_SRC) \
201 -I$(FLTK_INCLUDE) -Imup -L$(X_LOCATION)/lib \
202 -lfltk -lfltk_images -lXext -lX11 -lXpm \
203 -l$(JPEGLIB) -l$(PNGLIB) -l$(ZLIB) -lm
204
205install: all
206 mkdir -p $(BINDIR) $(MANDIR) $(DOCDIR)/uguide
207 cp mup/mup $(BINDIR)/mup
208 cp mkmupfnt/mkmupfnt $(BINDIR)/mkmupfnt
209 cp mupdisp/mupdisp $(BINDIR)/mupdisp
210 # For Linux console mode support, uncomment the following line
211 # chown root $(BINDIR)/mupdisp ; chmod 4755 $(BINDIR)/mupdisp
212 cp mupmate/mupmate $(BINDIR)/mupmate
213 cp mupprnt $(BINDIR)/mupprnt
214 cp docs/*.1 $(MANDIR)
215 cp docs/README* docs/*.txt docs/*.ps docs/*.mup $(DOCDIR)
216 cp docs/uguide/* $(DOCDIR)/uguide
217
218clean:
219 rm -f mup/*.o mupdisp/*.o mkmupfnt/*.o mupmate/*.o
220
221clobber: clean
222 rm -f mup/mup mupdisp/mupdisp mkmupfnt/mkmupfnt mupmate/mupmate