# Makefile for Mup (and auxiliary programs mupdisp, mkmupfnt, and mupmate). # This is not an optimal makefile; instead it tries to be very simple, # and easy to understand, so it can be easily modified, if needed. # On most Linux/Unix type systems, just doing # make install # as root will probably work. # (You really only need to be root to copy the products into # the system directories. If you change PREFIX # to point to some other writeable area, you wouldn't need to be root.) # If you only want the Mup program itself, you can do # make mup/mup # The other programs are optional: # - mupdisp runs Mup and then runs GhostScript on the result. # You can run Mup directly, and use gv, GSview, ghostview or any other # PostScript viewer on the Mup output, as an alternative to mupdisp. # - mkmupfnt is only needed if you want to use fonts beyond the basic # standard PostScript fonts. # - mupmate is a graphical user interface front end for Mup. # It is not needed if you intend to only use Mup via command line interface. # The mupdisp and mupmate programs require X libraries and headers (www.x.org). # The mupmate program requires FLTK libraries and headers (www.fltk.org). # If you want mupdisp to support Linux console mode, make sure you have # the svgalib package installed, then find the two commented-out lines below # related to Linux console support, and uncomment them. # Lines you might conceivably want to change have comments by them, # explaining how you might want to change them. # Any line without any comment by it is very unlikely to ever need changing. #----------------------------------------------------------------------- # These define where to put the Mup products. # You could change this to /usr/local or your own space if you like. PREFIX = /usr BINDIR = $(PREFIX)/bin MANDIR = $(PREFIX)/man/man1 DOCDIR = $(PREFIX)/share/doc/packages/mup # This is the name of your C compiler. # cc would be another common choice. CCOMPILER = gcc # This is the name of your C++ compiler. # CC would be another common choice. CPPCOMPILER = g++ # -O option turns on optimization for most C compilers. # You can add other options, if you like, as appropriate for your C compiler. # Another common addition would be -g to get debugging information. CFLAGS = -O # You can change this if your X libraries and headers are somewhere else # (like /usr/X11R6). X_LOCATION = /usr/X11 # The FLTK header files are under $(FLTK_INCLUDE)/FL FLTK_INCLUDE = $(X_LOCATION)/include # You can use fltk_jpeg or jpeg library, whichever you have JPEGLIB = fltk_jpeg # You can use fltk_png or png library, whichever you have PNGLIB = fltk_png # You can use fltk_z or z library, whichever you have ZLIB = fltk_z #----------------------------------------------------------------------- MUP_SRC = \ mup/abshorz.c \ mup/absvert.c \ mup/assign.c \ mup/beaming.c \ mup/beamstem.c \ mup/brac.c \ mup/charinfo.c \ mup/check.c \ mup/debug.c \ mup/errors.c \ mup/extchtbl.c \ mup/font.c \ mup/fontdata.c \ mup/globals.c \ mup/grpsyl.c \ mup/ifgram.c \ mup/lex.c \ mup/locvar.c \ mup/lyrics.c \ mup/macros.c \ mup/main.c \ mup/mainlist.c \ mup/map.c \ mup/midi.c \ mup/midiutil.c \ mup/mkchords.c \ mup/muschtbl.c \ mup/nxtstrch.c \ mup/parstssv.c \ mup/parstuff.c \ mup/phrase.c \ mup/plutils.c \ mup/print.c \ mup/prntdata.c \ mup/prntmisc.c \ mup/prnttab.c \ mup/prolog.c \ mup/range.c \ mup/rational.c \ mup/relvert.c \ mup/restsyl.c \ mup/roll.c \ mup/setgrps.c \ mup/setnotes.c \ mup/ssv.c \ mup/stuff.c \ mup/symtbl.c \ mup/tie.c \ mup/trantab.c \ mup/trnspose.c \ mup/undrscre.c \ mup/utils.c \ mup/ytab.c MUP_HDRS = \ mup/defines.h \ mup/extchar.h \ mup/globals.h \ mup/muschar.h \ mup/rational.h \ mup/ssvused.h \ mup/structs.h \ mup/ytab.h MUPDISP_SRC = \ mupdisp/at386.c \ mupdisp/do_cmd.c \ mupdisp/dos.c \ mupdisp/genfile.c \ mupdisp/init.c \ mupdisp/linvga.c \ mupdisp/mupdisp.c \ mupdisp/xterm.c MUPDISP_HDRS = mupdisp/dispttyp.h mupdisp/mupdisp.h MUPDISP_BITMAPS = mupdisp/help.bm mupdisp/waitmsg.bm MKMUPFNT_SRC = mkmupfnt/mkmupfnt.c MUPMATE_SRC = \ mupmate/Config.C \ mupmate/Edit.C \ mupmate/File.C \ mupmate/Help.C \ mupmate/Main.C \ mupmate/Preferences.C \ mupmate/Run.C \ mupmate/utils.C \ mupmate/license.C \ mupmate/regform.C \ mupmate/template.C MUPMATE_HDRS = \ mupmate/Config.H \ mupmate/Edit.H \ mupmate/File.H \ mupmate/Help.H \ mupmate/Main.H \ mupmate/Preferences.H \ mupmate/Run.H \ mupmate/utils.H \ mupmate/globals.H \ mupmate/resource.h MUPMATE_OTHER_FILES = \ mupmate/mup32.xpm #--------------------------------------------------------------- all: mup/mup mupdisp/mupdisp mkmupfnt/mkmupfnt mupmate/mupmate mup/mup: $(MUP_HDRS) $(MUP_SRC) $(CCOMPILER) $(CFLAGS) -o $@ $(MUP_SRC) -lm mupdisp/mupdisp: $(MUPDISP_HDRS) $(MUPDISP_BITMAPS) $(MUPDISP_SRC) $(CCOMPILER) $(CFLAGS) -L$(X_LOCATION)/lib -o $@ -DNO_VGA_LIB $(MUPDISP_SRC) -lX11 # For Linux console mode support, comment out the previous line # and uncomment the following line # $(CCOMPILER) $(CFLAGS) -L$(X_LOCATION)/lib -o $@ $(MUPDISP_SRC) -lvga -lX11 -lm mkmupfnt/mkmupfnt: $(MKMUPFNT_SRC) $(CCOMPILER) $(CFLAGS) -o $@ $(MKMUPFNT_SRC) mupmate/mupmate: $(MUPMATE_SRC) $(MUPMATE_HDRS) $(MUPMATE_OTHER_FILES) $(CPPCOMPILER) $(CFLAGS) -o $@ $(MUPMATE_SRC) \ -I$(FLTK_INCLUDE) -Imup -L$(X_LOCATION)/lib \ -lfltk -lfltk_images -lXext -lX11 -lXpm \ -l$(JPEGLIB) -l$(PNGLIB) -l$(ZLIB) -lm install: all mkdir -p $(BINDIR) $(MANDIR) $(DOCDIR)/uguide cp mup/mup $(BINDIR)/mup cp mkmupfnt/mkmupfnt $(BINDIR)/mkmupfnt cp mupdisp/mupdisp $(BINDIR)/mupdisp # For Linux console mode support, uncomment the following line # chown root $(BINDIR)/mupdisp ; chmod 4755 $(BINDIR)/mupdisp cp mupmate/mupmate $(BINDIR)/mupmate cp mupprnt $(BINDIR)/mupprnt cp docs/*.1 $(MANDIR) cp docs/README* docs/*.txt docs/*.ps docs/*.mup $(DOCDIR) cp docs/uguide/* $(DOCDIR)/uguide clean: rm -f mup/*.o mupdisp/*.o mkmupfnt/*.o mupmate/*.o clobber: clean rm -f mup/mup mupdisp/mupdisp mkmupfnt/mkmupfnt mupmate/mupmate