
SHELL	=	/bin/sh

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

TARGET		=	PPC
CODETYPE	=	PPC
VERSION		=	44

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

#-I/ade/ppc-amigaos/include/
#-Iinclude:
# -I/ade/include   -I../../../emulinclude/includenew/
G_IPATH		=	-I../../../emulinclude/includegcc/ -I../../../include/
G_DEFINES	=	-D$(CODETYPE)
G_OPTFLAGS	=	-O2			\
			-fomit-frame-pointer	\
			-fverbose-asm		\
			-mstrict-align		\
			-mno-prototype		\
			-mcpu=604		\
			-mregnames		\
			-Wformat		\
			-Wunused		\
			-Wuninitialized		\
			-Wconversion		\
			-Wstrict-prototypes	\
			-Werror-implicit-function-declaration


APATH		=	-iinclude/
AFLAGS		=	-M4000

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

all:	pbm.datatype.elf

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

.SUFFIXES: .o$(TARGET) .asm

.c.o$(TARGET):
	ppc-amigaos-gcc $(G_CFLAGS) $(G_OPTFLAGS) $(G_DEBUG) $(G_DEFINES) $(G_IPATH) -S -o $*.s $*.c
	ppc-amigaos-as -v -o$*.o$(TARGET) $*.s

.s.o$(TARGET):
	ppc-amigaos-as -o$*.o$(TARGET) $*.s


.asm.o$(TARGET):
	basm $(AFLAGS) $(APATH) -o$*.o$(TARGET) $*.asm

##############################################################################
##############################################################################
##############################################################################
##############################################################################
##############################################################################
##############################################################################
##############################################################################
#
# amiga Emulation
#

LIB		=	../../../lib

SRC		=

GLOBAL		=	libdata.h

lib.o$(TARGET):			$(SRC)lib.c			$(GLOBAL) pbm.datatype_VERSION.h
libend.o$(TARGET):		$(SRC)libend.c
libfunctions.o$(TARGET):	$(SRC)libfunctions.c		$(GLOBAL)
libfunctable.o$(TARGET):	$(SRC)libfunctable.c		$(GLOBAL)
readpbm.o$(TARGET):		$(SRC)readpbm.c			$(GLOBAL)
ffr.o$(TARGET):			$(SRC)ffr.c			$(GLOBAL)

OBJS		=	lib.o$(TARGET)\
			libfunctions.o$(TARGET)\
			libfunctable.o$(TARGET)\
			classsupport.o$(TARGET)\
			readpbm.o$(TARGET)\
			ffr.o$(TARGET)\
			libend.o$(TARGET)

#####################################################################
#
# Link Project
#

#####################################################################
#
# Project pbm.datatype.library
#

pbm.datatype.elf:	$(OBJS)			\
			$(LIB)/libsyscall.a	\
			$(LIB)/libmemblock.a
		ppc-amigaos-ld -v -L./lib -r $(OBJS) $(LIB)/libsyscall.a $(LIB)/libmemblock.a -o pbm.datatype.elf -lm

#		copy pbm.datatype.elf sys:classes/datatypes/


BUMP:
	bumprev2 VERSION=$(VERSION) FILE=$(SRC)pbm.datatype_VERSION TAG=pbm.datatype ADD="© 1995-1996 Matthias Scheler, 2000 by Ralph Schmidt"


DUMP:
	ppc-amigaos-objdump --section-headers --all-headers --reloc --disassemble-all pbm.datatype.elf >pbm.datatype.elf.dump

##############################################################################
.PHONY: all
