1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
|
# DJGPP (DOS port of gcc) Makefile for abcMIDI package
#
#
# compilation #ifdefs - you may need to change these defined to get
# the code to compile with a different C compiler.
#
# NOFTELL in midifile.c and genmidi.c selects a version of the file-writing
# code which doesn't use file seeking.
#
# PCCFIX in mftext.c midifile.c midi2abc.c
# comments out various things that aren't available in PCC
#
# USE_INDEX causes index() to be used instead of strchr(). This is needed
# by some pre-ANSI C compilers.
#
# ASCTIME causes asctime() to be used instead of strftime() in pslib.c.
# If ANSILIBS is not set, neither routine is used.
#
# ANSILIBS causes code to include some ANSI standard headers
#
# KANDR selects functions prototypes without argument prototypes.
#
# NO_SNPRINTF causes code to use printf instead of snprintf which
# is less secure.
CC=gcc
CFLAGS=-c -ansi -DANSILIBS -DNO_SNPRINTF -Wformat -Wtraditional
# -ansi forces ANSI compliance
LNK=gcc
all : abc2midi.exe midi2abc.exe abc2abc.exe mftext.exe yaps.exe\
midicopy.exe abcmatch.exe
abc2midi.exe : parseabc.o store.o genmidi.o queues.o midifile.o parser2.o
$(LNK) -o abc2midi.exe parseabc.o genmidi.o store.o \
queues.o midifile.o parser2.o stresspat.o -lm
abc2abc.exe : parseabc.o toabc.o
$(LNK) -o abc2abc.exe parseabc.o toabc.o
midi2abc.exe : midifile.o midi2abc.o
$(LNK) midifile.o midi2abc.o -o midi2abc.exe
mftext.exe : midifile.o mftext.o crack.o
$(LNK) midifile.o mftext.o crack.o -o mftext.exe
midicopy.exe : midicopy.o
$(LNK) midicopy.o -o midicopy.exe
abcmatch.exe : abcmatch.o matchsup.o parseabc.o
$(LNK) abcmatch.o matchsup.o parseabc.o -o abcmatch.exe
yaps.exe : parseabc.o yapstree.o drawtune.o debug.o pslib.o position.o parser2.o
$(LNK) -o yaps.exe parseabc.o yapstree.o drawtune.o debug.o \
position.o pslib.o parser2.o
# common parser object code
#
parseabc.o : parseabc.c abc.h parseabc.h
$(CC) $(CFLAGS) parseabc.c
parser2.o : parser2.c parseabc.h parser2.h
$(CC) $(CFLAGS) parser2.c
# objects needed by abc2abc
#
toabc.o : toabc.c abc.h parseabc.h
$(CC) $(CFLAGS) toabc.c
# objects needed by abc2midi
#
store.o : store.c abc.h parseabc.h parser2.h genmidi.h
$(CC) $(CFLAGS) store.c
genmidi.o : genmidi.c abc.h midifile.h genmidi.h
$(CC) $(CFLAGS) genmidi.c
stresspat.o: stresspat.c
$(CC) $(CFLAGS) stresspat.c
# could use -DNOFTELL here
tomidi.o : tomidi.c abc.h midifile.h
$(CC) $(CFLAGS) tomidi.c
queues.o: queues.c genmidi.h
$(CC) $(CFLAGS) queues.c
midicopy.o: midicopy.c midicopy.h
$(CC) $(CFLAGS) midicopy.c
abcmatch.o: abcmatch.c abc.h
$(CC) $(CFLAGS) abcmatch.c
# common midifile library
#
# could use -DNOFTELL here
midifile.o : midifile.c midifile.h
$(CC) $(CFLAGS) midifile.c
# objects needed by yaps
#
yapstree.o: yapstree.c abc.h parseabc.h structs.h drawtune.h parser2.h
$(CC) $(CFLAGS) yapstree.c
drawtune.o: drawtune.c structs.h sizes.h abc.h drawtune.h
$(CC) $(CFLAGS) drawtune.c
pslib.o: pslib.c drawtune.h
$(CC) $(CFLAGS) pslib.c
position.o: position.c abc.h structs.h sizes.h
$(CC) $(CFLAGS) position.c
debug.o: debug.c structs.h abc.h
$(CC) $(CFLAGS) debug.c
# objects needed by midi2abc
#
midi2abc.o : midi2abc.c midifile.h
$(CC) $(CFLAGS) midi2abc.c
# objects for mftext
#
crack.o : crack.c
$(CC) $(CFLAGS) crack.c
mftext.o : mftext.c midifile.h
$(CC) $(CFLAGS) mftext.c
# objects for abcmatch
#
matchsup.o : matchsup.c abc.h parseabc.h parser2.h
$(CC) $(CFLAGS) matchsup.c
clean:
del *.o
del *.exe
zipfile: midi2abc.exe abc2midi.exe mftext.exe yaps.exe\
abc2abc.exe midicopy.exe
zip pcexe2.zip *.exe readme.txt abcguide.txt demo.abc yaps.txt
|