]> Shamusworld >> Repos - rmac/blob - makefile
Added win32 cross-compilation script.
[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 = $(CROSS)gcc
10 HOSTCC = gcc
11
12 CFLAGS = -g -D__GCCUNIX__ -I. 
13
14 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 
15
16 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
17
18 #
19 # Build everything
20 #
21
22 all : mntab.h 68ktab.h kwtab.h risckw.h rmac
23
24 #
25 # Generated Sources for State Machines and Keyword, Directive and Mnemonic Definitions
26 #
27
28 mntab.h : mntab 68kmn kwgen
29         cat mntab 68kmn | ./kwgen mn >mntab.h
30
31 68ktab.h 68kmn : 68ktab 68ktab 68kgen
32         ./68kgen 68kmn <68ktab >68ktab.h
33
34 kwtab.h : kwtab kwgen
35         ./kwgen kw <kwtab >kwtab.h
36
37 risckw.h : kwtab kwgen
38         ./kwgen mr <risctab >risckw.h
39
40 #
41 # Build Tools
42 #
43
44 kwgen.o : kwgen.c
45         $(HOSTCC) $(CFLAGS) -c kwgen.c
46
47 kwgen : kwgen.o
48         $(HOSTCC) $(CFLAGS) -o kwgen kwgen.o
49
50 68kgen.o : 68kgen.c
51         $(HOSTCC) $(CFLAGS) -c 68kgen.c 
52
53 68kgen : 68kgen.o
54         $(HOSTCC) $(CFLAGS) -o 68kgen 68kgen.o
55
56 #
57 # Build RMAC Executable
58 #
59
60 amode.o : amode.c
61         $(CC) $(CFLAGS) -c amode.c
62
63 debug.o : debug.c
64         $(CC) $(CFLAGS) -c debug.c
65
66 direct.o : direct.c
67         $(CC) $(CFLAGS) -c direct.c
68
69 eagen.o : eagen.c
70         $(CC) $(CFLAGS) -c eagen.c
71
72 error.o : error.c
73         $(CC) $(CFLAGS) -c error.c
74
75 expr.o : expr.c
76         $(CC) $(CFLAGS) -c expr.c
77
78 listing.o : listing.c
79         $(CC) $(CFLAGS) -c listing.c
80
81 mach.o : mach.c
82         $(CC) $(CFLAGS) -c mach.c
83
84 macro.o : macro.c
85         $(CC) $(CFLAGS) -c macro.c
86
87 mark.o : mark.c
88         $(CC) $(CFLAGS) -c mark.c
89
90 object.o : object.c
91         $(CC) $(CFLAGS) -c object.c
92
93 procln.o : procln.c
94         $(CC) $(CFLAGS) -c procln.c
95
96 risca.o : risca.c
97         $(CC) $(CFLAGS) -c risca.c
98
99 rmac.o : rmac.c
100         $(CC) $(CFLAGS) -c rmac.c
101
102 sect.o : sect.c
103         $(CC) $(CFLAGS) -c sect.c
104
105 symbol.o : symbol.c
106         $(CC) $(CFLAGS) -c symbol.c
107
108 token.o : token.c
109         $(CC) $(CFLAGS) -c token.c 
110
111 rmac : $(OBJS) 
112         $(CC) $(CFLAGS) -o rmac $(OBJS)
113
114 #
115 # Clean Build Environment
116 #
117
118 clean: 
119         $(rm) $(OBJS) kwgen.o 68kgen.o rmac kwgen 68kgen kwtab.h 68ktab.h mntab.h risckw.h
120