Initial commit.
[rmac] / makefile
1 #
2 # RMAC - Reboot's Macro Assembler for the Atari Jaguar
3 # Copyright (C) 199x Landon Dyer, 2011 Reboot & Friends
4 # MAKEFILE for Non-Windows Compilation
5 # Currently tested against Cygwin under Windows XP Pro
6 #
7
8 rm = /bin/rm -f 
9 CC = cc 
10
11 CFLAGS = -g -D__GCCUNIX__ -I. 
12
13 SRCS = amode.c debug.c direct.c eagen.c error.c expr.c listing.c mach.c macro.c mark.c object.c procln.c risca.c rmac.c sect.c symbol.c token.c 
14
15 OBJS = amode.o debug.o direct.o eagen.o error.o expr.o listing.o mach.o macro.o mark.o object.o procln.o risca.o rmac.o sect.o symbol.o token.o
16
17 #
18 # Build everything
19 #
20
21 all : mntab.h 68ktab.h kwtab.h risckw.h rmac
22
23 #
24 # Generated Sources for State Machines and Keyword, Directive and Mnemonic Definitions
25 #
26
27 mntab.h : mntab 68kmn kwgen
28         cat mntab 68kmn | ./kwgen mn >mntab.h
29
30 68ktab.h 68kmn : 68ktab 68ktab 68kgen
31         ./68kgen 68kmn <68ktab >68ktab.h
32
33 kwtab.h : kwtab kwgen
34         ./kwgen kw <kwtab >kwtab.h
35
36 risckw.h : kwtab kwgen
37         ./kwgen mr <risctab >risckw.h
38
39 #
40 # Build Tools
41 #
42
43 kwgen.o : kwgen.c
44         $(CC) $(CFLAGS) -c kwgen.c
45
46 kwgen : kwgen.o
47         $(CC) $(CFLAGS) -o kwgen kwgen.o
48
49 68kgen.o : 68kgen.c
50         $(CC) $(CFLAGS) -c 68kgen.c 
51
52 68kgen : 68kgen.o
53         $(CC) $(CFLAGS) -o 68kgen 68kgen.o
54
55 #
56 # Build RMAC Executable
57 #
58
59 amode.o : amode.c
60         $(CC) $(CFLAGS) -c amode.c
61
62 debug.o : debug.c
63         $(CC) $(CFLAGS) -c debug.c
64
65 direct.o : direct.c
66         $(CC) $(CFLAGS) -c direct.c
67
68 eagen.o : eagen.c
69         $(CC) $(CFLAGS) -c eagen.c
70
71 error.o : error.c
72         $(CC) $(CFLAGS) -c error.c
73
74 expr.o : expr.c
75         $(CC) $(CFLAGS) -c expr.c
76
77 listing.o : listing.c
78         $(CC) $(CFLAGS) -c listing.c
79
80 mach.o : mach.c
81         $(CC) $(CFLAGS) -c mach.c
82
83 macro.o : macro.c
84         $(CC) $(CFLAGS) -c macro.c
85
86 mark.o : mark.c
87         $(CC) $(CFLAGS) -c mark.c
88
89 object.o : object.c
90         $(CC) $(CFLAGS) -c object.c
91
92 procln.o : procln.c
93         $(CC) $(CFLAGS) -c procln.c
94
95 risca.o : risca.c
96         $(CC) $(CFLAGS) -c risca.c
97
98 rmac.o : rmac.c
99         $(CC) $(CFLAGS) -c rmac.c
100
101 sect.o : sect.c
102         $(CC) $(CFLAGS) -c sect.c
103
104 symbol.o : symbol.c
105         $(CC) $(CFLAGS) -c symbol.c
106
107 token.o : token.c
108         $(CC) $(CFLAGS) -c token.c 
109
110 rmac : $(OBJS) 
111         $(CC) $(CFLAGS) -o rmac $(OBJS)
112
113 #
114 # Clean Build Environment
115 #
116
117 clean: 
118         $(rm) $(OBJS) kwgen.o 68kgen.o rmac kwgen 68kgen kwtab.h 68ktab.h mntab.h risckw.h
119