-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmakefile.windows
73 lines (52 loc) · 1.89 KB
/
makefile.windows
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
# -*- mode: makefile; -*-
# makefile.windows
# This makes distribution packages for Windows-32 and Windows-64
# It uses the MingW cross compiler on MacOS, probably also works on Linux
# CC = x86_64-w64-mingw32-gcc 64 bit
# CC = i686-w64-mingw32-gcc 32 bit
# "make -f makefile.windows win32" makes mf2t-win32.zip
# "make -f makefile.windows win64" makes mf2t-win64.zip
CFLAGS = -O
LDFLAGS =
SRCS = mf2t.c midifile.c midifile.h t2mf.c t2mf.h \
t2mf.fl t2mflex.c yyread.c getopt.h version.h\
README.TXT Makefile makefile.st makefile.bcc makefile.msc makefile.wcc\
tests/example1.mid tests/example1.txt tests/example2.mid tests/example2.txt \
tests/example3.mid tests/example3.txt tests/example4.mid tests/example4.txt \
tests/example5.mid tests/example5.txt
DOCS = README.TXT LICENSE.TXT
LIBS = midifile.o
MF2TPROG = mf2t.exe
MF2TOBJS = mf2t.o
T2MFPROG = t2mf.exe
T2MFOBJS = t2mf.o t2mflex.o
EXECS = $(MF2TPROG) $(T2MFPROG)
OBJS = $(MF2TOBJS) $(T2MFOBJS)
all: $(EXECS) $(DOCS)
$(MF2TPROG): $(MF2TOBJS) $(LIBS)
$(CC) $(LDFLAGS) -o $(MF2TPROG) $(MF2TOBJS) $(LIBS)
mf2t.o: midifile.h version.h getopt.h mf2t.c
$(T2MFPROG): $(T2MFOBJS) $(LIBS)
$(CC) $(LDFLAGS) -o $(T2MFPROG) $(T2MFOBJS) $(LIBS)
t2mf.o: midifile.h version.h getopt.h t2mf.c
midifile.o: midifile.h midifile.c
#t2mflex.c: t2mf.fl
# flex -i -s -Ce -8 t2mf.fl
# mv lex.yy.c t2mflex.c
t2mflex.o: t2mflex.c t2mf.h
README.TXT: README
sed 's/$$/\r'/g < README > README.TXT
LICENSE.TXT: License
sed 's/$$/\r'/g < License > LICENSE.TXT
win32:
$(MAKE) -f $(MAKEFILE_LIST) clean
$(MAKE) -f $(MAKEFILE_LIST) CC=i686-w64-mingw32-gcc all
zip mf2t-win32.zip $(EXECS) $(DOCS)
win64:
$(MAKE) -f $(MAKEFILE_LIST) clean
$(MAKE) -f $(MAKEFILE_LIST) CC=x86_64-w64-mingw32-gcc all
zip mf2t-win64.zip $(EXECS) $(DOCS)
zip: $(SRCS) $(EXECS) $(DOCS)
zip -9 mf2tsrc $(SRCS) $(EXECS) $(DOCS)
clean:
rm -f $(EXECS) $(OBJS) $(LIBS)