#
# $Id: GNUmakefile.68k,v 1.2 2004-09-10 07:41:13 obarthel Exp $
#
# :ts=8
#

##############################################################################

CC = gcc
DELETE = delete all quiet

##############################################################################

.c.o:
	@echo "Compiling $<"
	@$(CC) -c $(CFLAGS) $<

##############################################################################

#CODE_TYPE := -fbaserel -DSMALL_DATA -m68020-60 -DM68020
#CODE_TYPE := -fbaserel -DSMALL_DATA -m68000
#CODE_TYPE := -fbaserel32 -DSMALL_DATA32 -m68020-60 -DM68020
 CODE_TYPE := -m68020-60 -DM68020
#CODE_TYPE := -m68000

##############################################################################

WARNINGS = \
	-Wall -W -Wshadow -Wpointer-arith -Wsign-compare -Wmissing-prototypes \
	-Wundef -Wbad-function-cast -Wmissing-declarations -Wconversion

INCLUDE = -I../library/include
LIB = -L../library/lib
 OPTIONS = -DNDEBUG -fno-builtin -DNO_INLINE_STDARG -DIEEE_FLOATING_POINT_SUPPORT
#OPTIONS = -D__MEM_DEBUG -fno-builtin
#OPTIONS = -DDEBUG -D__MEM_DEBUG -DNO_INLINE_STDARG -fno-builtin
 OPTIMIZE = -O
#OPTIMIZE = -O2 -fomit-frame-pointer
#DEBUG = -g2

CFLAGS = $(WARNINGS) $(OPTIMIZE) $(DEBUG) $(OPTIONS) $(CODE_TYPE) $(INCLUDE) $(LIB)

##############################################################################

LIBS = -lm -lc -lgcc

##############################################################################

all: test fgets_test iotest sscanf_test printf_test sprintf_test stack_size_test translate_test

clean:
	$(DELETE) #?.o #?.map test fgets_test iotest sscanf_test printf_test sprintf_test stack_size_test translate_test

##############################################################################

test : test.o
	@echo "Linking $@"
	$(CC) $(CFLAGS) -o $@ test.o $(LIBS) -Wl,--cref,-M,-Map=$@.map

fgets_test : fgets_test.o
	@echo "Linking $@"
	$(CC) $(CFLAGS) -o $@ fgets_test.o $(LIBS) -Wl,--cref,-M,-Map=$@.map

iotest : iotest.o
	@echo "Linking $@"
	$(CC) $(CFLAGS) -o $@ iotest.o $(LIBS) -Wl,--cref,-M,-Map=$@.map

sscanf_test : sscanf_test.o
	@echo "Linking $@"
	$(CC) $(CFLAGS) -o $@ sscanf_test.o $(LIBS) -Wl,--cref,-M,-Map=$@.map

printf_test : printf_test.o
	@echo "Linking $@"
	$(CC) $(CFLAGS) -o $@ printf_test.o $(LIBS) -Wl,--cref,-M,-Map=$@.map

sprintf_test : sprintf_test.o
	@echo "Linking $@"
	$(CC) $(CFLAGS) -o $@ sprintf_test.o $(LIBS) -Wl,--cref,-M,-Map=$@.map

stack_size_test : stack_size_test.o
	@echo "Linking $@"
	$(CC) $(CFLAGS) -o $@ stack_size_test.o $(LIBS) -Wl,--cref,-M,-Map=$@.map

translate_test : translate_test.o
	@echo "Linking $@"
	$(CC) $(CFLAGS) -o $@ translate_test.o -lunix $(LIBS) -Wl,--cref,-M,-Map=$@.map

##############################################################################

mkid:
	mkid -v #?.(c|h|asm|i)

update:
	mkid -v -u
