ELF support for RMAC.
[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 *nix
5 #
6
7 rm = /bin/rm -f 
8 CC = $(CROSS)gcc
9 HOSTCC = gcc
10
11 CFLAGS = -std=c99 -D_DEFAULT_SOURCE -g -D__GCCUNIX__ -I. -O2
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 riscasm.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 riscasm.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         @echo
23         @echo "Don't forget to bump the version number before commiting!"
24         @echo
25
26 #
27 # Generated sources for state machines and keyword, directive and mnemonic
28 # definitions
29 #
30
31 mntab.h : mntab 68kmn kwgen
32         cat mntab 68kmn | ./kwgen mn >mntab.h
33
34 68ktab.h 68kmn : 68ktab 68ktab 68kgen
35         ./68kgen 68kmn <68ktab >68ktab.h
36
37 kwtab.h : kwtab kwgen
38         ./kwgen kw <kwtab >kwtab.h
39
40 risckw.h : kwtab kwgen
41         ./kwgen mr <risctab >risckw.h
42
43 #
44 # Build tools
45 #
46
47 kwgen.o : kwgen.c
48         $(HOSTCC) $(CFLAGS) -c kwgen.c
49
50 kwgen : kwgen.o
51         $(HOSTCC) $(CFLAGS) -o kwgen kwgen.o
52
53 68kgen.o : 68kgen.c
54         $(HOSTCC) $(CFLAGS) -c 68kgen.c 
55
56 68kgen : 68kgen.o
57         $(HOSTCC) $(CFLAGS) -o 68kgen 68kgen.o
58
59 #
60 # Build RMAC executable
61 #
62
63 amode.o : amode.c
64         $(CC) $(CFLAGS) -c amode.c
65
66 debug.o : debug.c
67         $(CC) $(CFLAGS) -c debug.c
68
69 direct.o : direct.c
70         $(CC) $(CFLAGS) -c direct.c
71
72 eagen.o : eagen.c
73         $(CC) $(CFLAGS) -c eagen.c
74
75 error.o : error.c
76         $(CC) $(CFLAGS) -c error.c
77
78 expr.o : expr.c
79         $(CC) $(CFLAGS) -c expr.c
80
81 listing.o : listing.c
82         $(CC) $(CFLAGS) -c listing.c
83
84 mach.o : mach.c
85         $(CC) $(CFLAGS) -c mach.c
86
87 macro.o : macro.c
88         $(CC) $(CFLAGS) -c macro.c
89
90 mark.o : mark.c
91         $(CC) $(CFLAGS) -c mark.c
92
93 object.o : object.c
94         $(CC) $(CFLAGS) -c object.c
95
96 procln.o : procln.c
97         $(CC) $(CFLAGS) -c procln.c
98
99 risca.o : risca.c
100         $(CC) $(CFLAGS) -c risca.c
101
102 rmac.o : rmac.c
103         $(CC) $(CFLAGS) -c rmac.c
104
105 sect.o : sect.c
106         $(CC) $(CFLAGS) -c sect.c
107
108 symbol.o : symbol.c
109         $(CC) $(CFLAGS) -c symbol.c
110
111 token.o : token.c
112         $(CC) $(CFLAGS) -c token.c 
113
114 rmac : $(OBJS) 
115         $(CC) $(CFLAGS) -o rmac $(OBJS)
116
117 #
118 # Clean build environment
119 #
120
121 clean: 
122         $(rm) $(OBJS) kwgen.o 68kgen.o rmac kwgen 68kgen kwtab.h 68ktab.h mntab.h risckw.h
123