File: makefile

package info (click to toggle)
abcmidi 17-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 792 kB
  • ctags: 1,455
  • sloc: ansic: 17,345; makefile: 104
file content (116 lines) | stat: -rw-r--r-- 3,193 bytes parent folder | download | duplicates (2)
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
# 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 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.
#
CC=gcc
CFLAGS=-c -ansi -DANSILIBS -Wformat -Wtraditional
# -ansi forces ANSI compliance
LNK=gcc

all : abc2midi.exe midi2abc.exe abc2abc.exe mftext.exe yaps.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

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

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 

# 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

clean:
	del *.o
	del *.exe

zipfile: midi2abc.exe abc2midi.exe mftext.exe yaps.exe abc2abc.exe
	zip pcexe2.zip *.exe readme.txt abcguide.txt demo.abc yaps.txt