X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?p=rmac;a=blobdiff_plain;f=makefile;h=99325d6c78473d043a0e9b4a2e3f0ce3ab9451c5;hp=74ac5dc5ca0a6d69967f20256560eda09f56ec09;hb=052be802baa4836564801c780b1d432cfe17c576;hpb=d28f432296e812643e236d1bfc9b556a7b11c461 diff --git a/makefile b/makefile index 74ac5dc..99325d6 100644 --- a/makefile +++ b/makefile @@ -1,27 +1,47 @@ # # RMAC - Reboot's Macro Assembler for the Atari Jaguar # Copyright (C) 199x Landon Dyer, 2011 Reboot & Friends -# MAKEFILE for Non-Windows Compilation -# Currently tested against Cygwin under Windows XP Pro +# MAKEFILE for *nix # -rm = /bin/rm -f -CC = cc +STD := c99 -CFLAGS = -g -D__GCCUNIX__ -I. +# Detect old, shitty platforms that aren't C99/POSIX compliant +OSTYPE := $(shell uname -a) -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 +# Should catch MinGW +ifeq "$(findstring MINGW, $(OSTYPE))" "MINGW" +STD := gnu99 +endif -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 +# If we're cross compiling using MXE, we're still fooooooooooked +ifneq "$(CROSS)" "" +STD := gnu99 +endif + + +rm = /bin/rm -f +CC = $(CROSS)gcc +HOSTCC = gcc + +CFLAGS = -std=$(STD) -D_DEFAULT_SOURCE -g -D__GCCUNIX__ -I. -O2 + +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 6502.c + +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 6502.o # # Build everything # -all : mntab.h 68ktab.h kwtab.h risckw.h rmac +all : mntab.h 68ktab.h kwtab.h risckw.h 6502.h rmac + @echo + @echo "Don't forget to bump the version number before commiting!" + @echo # -# Generated Sources for State Machines and Keyword, Directive and Mnemonic Definitions +# Generated sources for state machines and keyword, directive and mnemonic +# definitions # mntab.h : mntab 68kmn kwgen @@ -33,27 +53,30 @@ mntab.h : mntab 68kmn kwgen kwtab.h : kwtab kwgen ./kwgen kw kwtab.h +6502.h : 6502.tbl kwgen + ./kwgen mp <6502.tbl >6502.h + risckw.h : kwtab kwgen ./kwgen mr risckw.h # -# Build Tools +# Build tools # kwgen.o : kwgen.c - $(CC) $(CFLAGS) -c kwgen.c + $(HOSTCC) $(CFLAGS) -c kwgen.c kwgen : kwgen.o - $(CC) $(CFLAGS) -o kwgen kwgen.o + $(HOSTCC) $(CFLAGS) -o kwgen kwgen.o 68kgen.o : 68kgen.c - $(CC) $(CFLAGS) -c 68kgen.c + $(HOSTCC) $(CFLAGS) -c 68kgen.c 68kgen : 68kgen.o - $(CC) $(CFLAGS) -o 68kgen 68kgen.o + $(HOSTCC) $(CFLAGS) -o 68kgen 68kgen.o # -# Build RMAC Executable +# Build RMAC executable # amode.o : amode.c @@ -104,16 +127,19 @@ sect.o : sect.c symbol.o : symbol.c $(CC) $(CFLAGS) -c symbol.c +6502.o : 6502.c + $(CC) $(CFLAGS) -c 6502.c + token.o : token.c - $(CC) $(CFLAGS) -c token.c + $(CC) $(CFLAGS) -c token.c -rmac : $(OBJS) +rmac : $(OBJS) $(CC) $(CFLAGS) -o rmac $(OBJS) # -# Clean Build Environment +# Clean build environment # -clean: +clean: $(rm) $(OBJS) kwgen.o 68kgen.o rmac kwgen 68kgen kwtab.h 68ktab.h mntab.h risckw.h