chiark / gitweb /
Merge branch 'arkkra' into shiny
[mup] / mup / makefile
diff --git a/mup/makefile b/mup/makefile
new file mode 100644 (file)
index 0000000..8acf0d6
--- /dev/null
@@ -0,0 +1,222 @@
+
+# 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