2020.10.19

This commit is contained in:
Seymour Shlien
2020-10-20 11:52:56 -04:00
parent a1f745bb30
commit 5a81dc34fe
29 changed files with 2355 additions and 664 deletions

View File

@@ -0,0 +1,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 -lm
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

View File

@@ -0,0 +1,143 @@
# Borland command line compiler bcc version 5.5 Makefile for abcMIDI package
# Can also use mingw or gnu standard make program with this makefile.
#
#
# 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 tomidi.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.
#
# If your Borland compiler is in another path, change the include
# and library options below in CFLAGS and LDFLAGS.
#
CC=bcc32
CFLAGS=-g0 -v -WC -c -I/bcc55/include
LNK=ilink32
LDFLAGS=/ap /L\bcc55\lib c0x32.obj
LDFLAGS2=import32.lib cw32.lib
all : abc2midi.exe midi2abc.exe abc2abc.exe mftext.exe yaps.exe midicopy.exe abcmatch.exe
abc2midi.exe : parseabc.obj store.obj genmidi.obj queues.obj midifile.obj parser2.obj stresspat.obj -lm
$(LNK) $(LDFLAGS) parseabc.obj genmidi.obj store.obj \
queues.obj midifile.obj parser2.obj stresspat.obj, abc2midi.exe,, $(LDFLAGS2)
abc2abc.exe : parseabc.obj toabc.obj
$(LNK) $(LDFLAGS) parseabc.obj toabc.obj, abc2abc.exe,, $(LDFLAGS2)
midi2abc.exe : midifile.obj midi2abc.obj
$(LNK) $(LDFLAGS) midifile.obj midi2abc.obj, midi2abc.exe,, $(LDFLAGS2)
mftext.exe : midifile.obj mftext.obj crack.obj
$(LNK) $(LDFLAGS) midifile.obj mftext.obj crack.obj, mftext.exe,, $(LDFLAGS2)
yaps.exe : parseabc.obj yapstree.obj drawtune.obj debug.obj pslib.obj position.obj parser2.obj
$(LNK) $(LDFLAGS) parseabc.obj yapstree.obj drawtune.obj debug.obj \
position.obj pslib.obj parser2.obj, yaps.exe,, $(LDFLAGS2)
midicopy.exe: midicopy.obj
$(LNK) $(LDFLAGS) midicopy.obj, midicopy.exe,, $(LDFLAGS2)
abcmatch.exe : abcmatch.obj matchsup.obj parseabc.obj
$(LNK) $(LDFLAGS) abcmatch.obj matchsup.obj parseabc.obj, abcmatch.exe,, $(LDFLAGS2)
# common parser object code
#
parseabc.obj : parseabc.c abc.h parseabc.h
$(CC) $(CFLAGS) parseabc.c
parser2.obj : parser2.c parseabc.h parser2.h
$(CC) $(CFLAGS) parser2.c
# objects needed by abc2abc
#
toabc.obj : toabc.c abc.h parseabc.h
$(CC) $(CFLAGS) toabc.c
# objects needed by abc2midi
#
store.obj : store.c abc.h parseabc.h parser2.h genmidi.h
$(CC) $(CFLAGS) store.c
genmidi.obj : genmidi.c abc.h midifile.h genmidi.h
$(CC) $(CFLAGS) genmidi.c
stresspat.obj : stresspat.c
$(CC) $(CFLAGS) stresspat.c
queues.obj: queues.c genmidi.h
$(CC) $(CFLAGS) queues.c
# common midifile library
#
# could use -DNOFTELL here
midifile.obj : midifile.c midifile.h
$(CC) $(CFLAGS) midifile.c
# objects needed by yaps
#
yapstree.obj: yapstree.c abc.h parseabc.h structs.h drawtune.h parser2.h
$(CC) $(CFLAGS) yapstree.c
drawtune.obj: drawtune.c structs.h sizes.h abc.h drawtune.h
$(CC) $(CFLAGS) drawtune.c
pslib.obj: pslib.c drawtune.h
$(CC) $(CFLAGS) pslib.c
position.obj: position.c abc.h structs.h sizes.h
$(CC) $(CFLAGS) position.c
debug.obj: debug.c structs.h abc.h
$(CC) $(CFLAGS) debug.c
# objects needed by midi2abc
#
midi2abc.obj : midi2abc.c midifile.h
$(CC) $(CFLAGS) midi2abc.c
# objects for mftext
#
crack.obj : crack.c
$(CC) $(CFLAGS) crack.c
mftext.obj : mftext.c midifile.h
$(CC) $(CFLAGS) mftext.c
# objects for midicopy
#
midicopy.obj :midicopy.c midicopy.h
$(CC) $(CFLAGS) midicopy.c
# objects for abcmatch
#
abcmatch.obj : abcmatch.c abc.h
$(CC) $(CFLAGS) abcmatch.
matchsup.obj : matchsup.c abc.h parseabc.h parser2.h
$(CC) $(CFLAGS) matchsup.c
clean:
rm *.obj
rm *.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

View File

@@ -0,0 +1,136 @@
# Mingw Win32 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 tomidi.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.
#
# If your mingw compiler is in another path, change the include
# options below in CFLAGS.
#
CC=gcc
CFLAGS=-c -I/mingw/i386-mingw32/include
LNK=gcc
LDFLAGS=-o
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) $(LDFLAGS) abc2midi.exe parseabc.o genmidi.o store.o \
queues.o midifile.o parser2.o -stresspat.o -lm
abc2abc.exe : parseabc.o toabc.o
$(LNK) $(LDFLAGS) abc2abc.exe parseabc.o toabc.o
midi2abc.exe : midifile.o midi2abc.o
$(LNK) $(LDFLAGS) midi2abc.exe midifile.o midi2abc.o -lm
mftext.exe : midifile.o mftext.o crack.o
$(LNK) $(LDFLAGS) mftext.exe midifile.o mftext.o crack.o
yaps.exe : parseabc.o yapstree.o drawtune.o debug.o pslib.o position.o parser2.o
$(LNK) $(LDFLAGS) yaps.exe parseabc.o yapstree.o drawtune.o debug.o \
position.o pslib.o parser2.o
midicopy.exe: midicopy.o
$(LNK) $(LDFLAGS) midicopy.exe midicopy.o
abcmatch.exe : abcmatch.o matchsup.o parseabc.o
$(LNK) abcmatch.o matchsup.o parseabc.o -o abcmatch.exe
# 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
# 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 needed for midicopy
#
midicopy.o : midicopy.c
$(CC) $(CFLAGS) midicopy.c
clean:
rm *.o
rm *.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

View File

@@ -0,0 +1,141 @@
# Watcom Win32 Makefile for abcMIDI package
# Use mingw or gnu standard make program with this makefile.
#
#
# 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.
#
CC=wcc386
CFLAGS=-ic:\\watcom\\h;c:\\watcom\\h\\nt -w4 -e25 -zq -od -d2 -5r -bt=nt -mf -DANSILIBS
LDFLAGS=sys nt name
LDFLAGS2=d all op inc op st=200000 op maxe=25 op q op symf
LNK=wlink
all : abc2midi.exe midi2abc.exe abc2abc.exe mftext.exe yaps.exe midicopy.exe abcmatch.exe
abc2midi.exe : parseabc.obj store.obj genmidi.obj queues.obj midifile.obj parser2.obj stresspat.obj -lm
$(LNK) $(LDFLAGS) abc2midi.exe $(LDFLAGS2) FILE parseabc.obj FILE genmidi.obj FILE store.obj \
FILE queues.obj FILE midifile.obj FILE parser2.obj FILE stresspat.obj
abc2abc.exe : parseabc.obj toabc.obj
$(LNK) $(LDFLAGS) abc2abc.exe $(LDFLAGS2) FILE parseabc.obj FILE toabc.obj
midi2abc.exe : midifile.obj midi2abc.obj
$(LNK) $(LDFLAGS) midi2abc.exe $(LDFLAGS2) FILE midifile.obj FILE midi2abc.obj
mftext.exe : midifile.obj mftext.obj crack.obj
$(LNK) $(LDFLAGS) mftext.exe $(LDFLAGS2) FILE midifile.obj FILE mftext.obj FILE crack.obj
midicopy.exe : midicopy.obj
$(LNK) $(LDFLAGS) midicopy.exe $(LDFLAGS2) FILE midicopy.obj
yaps.exe : parseabc.obj yapstree.obj drawtune.obj debug.obj pslib.obj position.obj parser2.obj
$(LNK) $(LDFLAGS) yaps.exe $(LDFLAGS2) FILE parseabc.obj FILE yapstree.obj FILE drawtune.obj FILE debug.obj FILE position.obj FILE pslib.obj FILE parser2.obj
abcmatch.exe : abcmatch.obj matchsup.obj parseabc.obj
$(LNK) $(LDFLAGS) abcmatch.exe $(LDFLAGS2) FILE abcmatch.obj FILE matchsup.obj FILE parseabc.obj
# common parser object code
#
parseabc.obj : parseabc.c abc.h parseabc.h
$(CC) $(CFLAGS) parseabc.c
parser2.obj : parser2.c parseabc.h parser2.h
$(CC) $(CFLAGS) parser2.c
# objects needed by abc2abc
#
toabc.obj : toabc.c abc.h parseabc.h
$(CC) $(CFLAGS) toabc.c
# objects needed by abc2midi
#
store.obj : store.c abc.h parseabc.h parser2.h genmidi.h
$(CC) $(CFLAGS) store.c
genmidi.obj : genmidi.c abc.h midifile.h genmidi.h
$(CC) $(CFLAGS) genmidi.c
stresspat.obj : stresspat.c
$(CC) $(CFLAGS) stresspat.c
# could use -DNOFTELL here
tomidi.obj : tomidi.c abc.h midifile.h
$(CC) $(CFLAGS) tomidi.c
queues.obj: queues.c genmidi.h
$(CC) $(CFLAGS) queues.c
# common midifile library
#
# could use -DNOFTELL here
midifile.obj : midifile.c midifile.h
$(CC) $(CFLAGS) midifile.c
# objects needed by yaps
#
yapstree.obj: yapstree.c abc.h parseabc.h structs.h drawtune.h parser2.h
$(CC) $(CFLAGS) yapstree.c
drawtune.obj: drawtune.c structs.h sizes.h abc.h drawtune.h
$(CC) $(CFLAGS) drawtune.c
pslib.obj: pslib.c drawtune.h
$(CC) $(CFLAGS) pslib.c
position.obj: position.c abc.h structs.h sizes.h
$(CC) $(CFLAGS) position.c
debug.obj: debug.c structs.h abc.h
$(CC) $(CFLAGS) debug.c
# objects needed by midi2abc
#
midi2abc.obj : midi2abc.c midifile.h
$(CC) $(CFLAGS) midi2abc.c
# objects for mftext
#
crack.obj : crack.c
$(CC) $(CFLAGS) crack.c
mftext.obj : mftext.c midifile.h
$(CC) $(CFLAGS) mftext.c
# objects for midicopy
#
midicopy.obj : midicopy.c midicopy.h
$(CC) $(CFLAGS) midicopy.c
#objects for abcmtch
#
abcmatch.obj : abcmatch.c abc.h
$(CC) $(CFLAGS) abcmatch.c
matchsup.obj : matchsup.c abc.h parseabc.h parser2.h genmidi.h
$(CC) $(CFLAGS) matchsup.c
clean:
rm *.obj
rm *.exe
zipfile: midi2abc.exe abc2midi.exe mftext.exe yaps.exe abc2abc.exe abcmatch.exe
zip pcexe2.zip *.exe readme.txt abcguide.txt demo.abc yaps.txt

View File

@@ -0,0 +1,139 @@
# Watcom DOS 32 bit Makefile for abcMIDI package
# Use mingw or gnu standard make program with this makefile.
#
#
# 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.
#
CC=wcc386
CFLAGS=-ic:\\watcom\\h -w4 -e25 -zq -od -d2 -5r -bt=dos -mf -DANSILIBS
LDFLAGS=sys dos4g name
LDFLAGS2=d all op inc op st=200000 op maxe=25 op q op symf
LNK=wlink
all : abc2midi.exe midi2abc.exe abc2abc.exe mftext.exe yaps.exe midicopy.exe abcmatch.exe
abc2midi.exe : parseabc.obj store.obj genmidi.obj queues.obj midifile.obj parser2.obj -lm
$(LNK) $(LDFLAGS) abc2midi.exe $(LDFLAGS2) FILE parseabc.obj FILE genmidi.obj FILE store.obj \
FILE queues.obj FILE midifile.obj FILE parser2.obj FILE stresspat.obj
abc2abc.exe : parseabc.obj toabc.obj
$(LNK) $(LDFLAGS) abc2abc.exe $(LDFLAGS2) FILE parseabc.obj FILE toabc.obj
midi2abc.exe : midifile.obj midi2abc.obj
$(LNK) $(LDFLAGS) midi2abc.exe $(LDFLAGS2) FILE midifile.obj FILE midi2abc.obj
mftext.exe : midifile.obj mftext.obj crack.obj
$(LNK) $(LDFLAGS) mftext.exe $(LDFLAGS2) FILE midifile.obj FILE mftext.obj FILE crack.obj
midicopy.exe: midicopy.obj
$(LNK) $(LDFLAGS) midicopy.exe $(LDFLAGS2) FILE midicopy.obj
abcmatch.exe : abcmatch.obj matchsup.obj parseabc.obj
$(LNK) $(LDFLAGS) abcmatch.exe $(LDFLAGS) FILE abcmatch.obj matchsup.obj parseabc.obj
yaps.exe : parseabc.obj yapstree.obj drawtune.obj debug.obj pslib.obj position.obj parser2.obj
$(LNK) $(LDFLAGS) yaps.exe $(LDFLAGS2) FILE parseabc.obj FILE yapstree.obj FILE drawtune.obj FILE debug.obj FILE position.obj FILE pslib.obj FILE parser2.obj
# common parser object code
#
parseabc.obj : parseabc.c abc.h parseabc.h
$(CC) $(CFLAGS) parseabc.c
parser2.obj : parser2.c parseabc.h parser2.h
$(CC) $(CFLAGS) parser2.c
# objects needed by abc2abc
#
toabc.obj : toabc.c abc.h parseabc.h
$(CC) $(CFLAGS) toabc.c
# objects needed by abc2midi
#
store.obj : store.c abc.h parseabc.h parser2.h genmidi.h
$(CC) $(CFLAGS) store.c
genmidi.obj : genmidi.c abc.h midifile.h genmidi.h
$(CC) $(CFLAGS) genmidi.c
stresspat.obj : stresspat.c
$(CC) $(CFLAGS) stresspat.c
# could use -DNOFTELL here
queues.obj: queues.c genmidi.h
$(CC) $(CFLAGS) queues.c
# common midifile library
#
# could use -DNOFTELL here
midifile.obj : midifile.c midifile.h
$(CC) $(CFLAGS) midifile.c
# objects needed by yaps
#
yapstree.obj: yapstree.c abc.h parseabc.h structs.h drawtune.h parser2.h
$(CC) $(CFLAGS) yapstree.c
drawtune.obj: drawtune.c structs.h sizes.h abc.h drawtune.h
$(CC) $(CFLAGS) drawtune.c
pslib.obj: pslib.c drawtune.h
$(CC) $(CFLAGS) pslib.c
position.obj: position.c abc.h structs.h sizes.h
$(CC) $(CFLAGS) position.c
debug.obj: debug.c structs.h abc.h
$(CC) $(CFLAGS) debug.c
# objects needed by midi2abc
#
midi2abc.obj : midi2abc.c midifile.h
$(CC) $(CFLAGS) midi2abc.c
# objects for mftext
#
crack.obj : crack.c
$(CC) $(CFLAGS) crack.c
mftext.obj : mftext.c midifile.h
$(CC) $(CFLAGS) mftext.c
# objects for midicopy
#
midicopy.obj :midicopy.c midicopy.h
$(CC) $(CFLAGS) midicopy.c
# objects for abcmatch
#
abcmatch.obj :abcmatch.c abc.h
$(CC) $(CFLAGS) abcmatch.c
matchsup.obj :matchsup.c abc.h parseabc.h parser2.h
$(CC) $(CFLAGS) matchsup.c
clean:
rm *.obj
rm *.exe
zipfile: midi2abc.exe abc2midi.exe mftext.exe yaps.exe abc2abc.exe
zip pcexe2.zip *.exe readme.txt abcguide.txt demo.abc yaps.txt

View File

@@ -0,0 +1,89 @@
# PCC Makefile for abcMIDI package
#
#
# compilation #ifdefs - you need to define some of these to get
# the code to compile with PCC.
#
# 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
# and applies a fix needed for file writing
#
# ANSILIBS causes appropriate ANSI .h files to be #included.
#
# KANDR selects function prototypes with argument prototypes.
#
# USE_INDEX replaces calls to strchr() with calls to index().
#
CC=pcc
CFLAGS=-nPCCFIX -nNOFTELL -nUSE_INDEX -nKANDR
LNK=pccl
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 stresspat.o -lm
$(LNK) -Lc:\bin\pcc\ -Oabc2midi parseabc.o store.o genmidi.o queues.o midifile.o parser2.o stresspat.o
abc2abc.exe : parseabc.o toabc.o
$(LNK) -Lc:\bin\pcc\ -Oabc2abc parseabc.o toabc.o
midi2abc.exe : midifile.o midi2abc.o
$(LNK) -Lc:\bin\pcc\ midifile.o midi2abc.o -Omidi2abc
mftext.exe : midifile.o mftext.o crack.o
$(LNK) -Lc:\bin\pcc\ midifile.o mftext.o crack.o -Omftext
midicopy.exe: midicopy.o
$(LNK) -Lc:\bin\pcc\ midicopy.o -Omidicopy $(CFLAGS)
parseabc.o : parseabc.c abc.h parseabc.h
$(CC) parseabc.c $(CFLAGS)
parser2.o : parser2.c abc.h parseabc.h parser2.h
$(CC) parser2.c $(CFLAGS)
toabc.o : toabc.c abc.h parseabc.h
$(CC) toabc.c $(CFLAGS)
genmidi.o : genmidi.c abc.h midifile.h parseabc.h genmidi.h
$(CC) genmidi.c $(CFLAGS)
stresspat.o : stresspat.c
$(CC) stresspat.c $(CFLAGS)
store.o : store.c abc.h midifile.h parseabc.h
$(CC) store.c $(CFLAGS)
queues.o : queues.c genmidi.h
$(CC) queues.c $(CFLAGS)
midifile.o : midifile.c midifile.h
$(CC) midifile.c $(CFLAGS)
midi2abc.o : midi2abc.c midifile.h
$(CC) midi2abc.c $(CFLAGS)
crack.o : crack.c
$(CC) crack.c $(CFLAGS)
mftext.o : mftext.c midifile.h
$(CC) mftext.c $(CFLAGS)
midicopy.o : midicopy.c
$(CC) midicopy.c $(CFLAGS)
abcmatch.o : abcmatch.c
$(CC) abcmatch.c $(CFLAGS)
matchsup.o : matchsup.c
$(CC) matchsup.c $(CFLAGS)
clean:
del *.exe
del *.o
zipfile: abc2midi.exe midi2abc.exe abc2abc.exe mftext.exe midicopy.exe abcmatch.exe
zip pcexe.zip *.exe readme.txt abcguide.txt demo.abc

View File

@@ -0,0 +1,131 @@
# Generic unix/gcc Makefile for abcMIDI package
#
#
# compilation #ifdefs - you need to compile with these defined to get
# the code to compile with PCC.
#
# 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
#
# ANSILIBS includes some ANSI header files (which gcc can live without,
# but other compilers may want).
#
# 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.
#
# KANDR selects functions prototypes without argument prototypes.
# currently yaps will only compile in ANSI mode.
#
#
# On running make, you may get the mysterious message :
#
# ', needed by `parseabc.o'. Stop `abc.h
#
# This means you are using GNU make and this file is in DOS text format. To
# cure the problem, change this file from using PC-style end-of-line (carriage
# return and line feed) to unix style end-of-line (line feed).
CC=gcc
CFLAGS=-DANSILIBS -O2
LNK=gcc
INSTALL=install
prefix=/usr/local
binaries=abc2midi midi2abc abc2abc mftext yaps midicopy abcmatch
docdir=share/doc/abcmidi
bindir=bin
mandir=share/man/man1
all : abc2midi midi2abc abc2abc mftext yaps midicopy abcmatch
abc2midi : parseabc.o store.o genmidi.o midifile.o queues.o parser2.o stresspat.o -lm
$(LNK) -o abc2midi parseabc.o store.o genmidi.o queues.o \
parser2.o midifile.o stresspat.o
abc2abc : parseabc.o toabc.o
$(LNK) -o abc2abc parseabc.o toabc.o
midi2abc : midifile.o midi2abc.o
$(LNK) midifile.o midi2abc.o -o midi2abc -lm
mftext : midifile.o mftext.o crack.o
$(LNK) midifile.o mftext.o crack.o -o mftext
yaps : parseabc.o yapstree.o drawtune.o debug.o pslib.o position.o parser2.o
$(LNK) -o yaps parseabc.o yapstree.o drawtune.o debug.o \
position.o pslib.o parser2.o -o yaps
midicopy : midicopy.o
$(LNK) -o midicopy midicopy.o
abcmatch : abcmatch.o matchsup.o parseabc.o
$(LNK) abcmatch.o matchsup.o parseabc.o -o abcmatch
parseabc.o : parseabc.c abc.h parseabc.h
parser2.o : parser2.c abc.h parseabc.h parser2.h
toabc.o : toabc.c abc.h parseabc.h
# could use -DNOFTELL here
genmidi.o : genmidi.c abc.h midifile.h genmidi.h
stresspat.o : stresspat.c
store.o : store.c abc.h parseabc.h midifile.h genmidi.h
queues.o : queues.c genmidi.h
# could use -DNOFTELL here
midifile.o : midifile.c midifile.h
midi2abc.o : midi2abc.c midifile.h
midicopy.o : midicopy.c midicopy.h
abcmatch.o: abcmatch.c abc.h
crack.o : crack.c
mftext.o : mftext.c midifile.h
# objects needed by yaps
#
yapstree.o: yapstree.c abc.h parseabc.h structs.h drawtune.h
drawtune.o: drawtune.c structs.h sizes.h abc.h drawtune.h
pslib.o: pslib.c drawtune.h
position.o: position.c abc.h structs.h sizes.h
debug.o: debug.c structs.h abc.h
#objects for abcmatch
#
matchsup.o : matchsup.c abc.h parseabc.h parser2.h
clean :
rm *.o ${binaries}
install: abc2midi midi2abc abc2abc mftext midicopy yaps abcmatch
$(INSTALL) -m 755 ${binaries} ${prefix}/${bindir}
# install documentation
test -d ${PREFIX}/share/doc/abcmidi || mkdir -p ${prefix}/${docdir}
$(INSTALL) -m 644 doc/*.txt ${prefix}/${docdir}
$(INSTALL) -m 644 doc/AUTHORS ${prefix}/${docdir}
$(INSTALL) -m 644 doc/CHANGES ${prefix}/${docdir}
$(INSTALL) -m 644 VERSION ${prefix}/${docdir}
# install manpages
test -d ${prefix}/${mandir} || mkdir -p ${prefix}/${mandir};
$(INSTALL) -m 644 doc/*.1 ${prefix}/${mandir}