ROOTPATH=../../../
include $(ROOTPATH)Makefile.global
include $(ROOTPATH)SDK.global

LDFLAGS =

LIBS =

SHELL=/bin/sh

CFLAGS = -noixemul -Wall -O2 -mcpu=604e -I./

SHELL = /bin/sh

.SUFFIXES: .C .c

.PHONY: all fd libdefines clean install DUMP

all: commodities.library

SRCS =	activatecxobj.c \
	addievents.c \
	attachcxobj.c \
	clearcxobjerror.c \
	createcxobj.c \
	cxbroker.c \
	cxmsgdata.c \
	cxmsgid.c \
	cxmsgtype.c \
	cxnotify.c \
	cxobjerror.c \
	cxobjtype.c \
	deletecxobj.c \
	deletecxobjall.c \
	disposecxmsg.c \
	divertcxmsg.c \
	enqueuecxobj.c \
	freebrokerlist.c \
	getbrokerlist.c \
	insertcxobj.c \
	invertkeymap.c \
	matchix.c \
	parseix.c \
	removecxobj.c \
	findbroker.c \
	routecxmsg.c \
	setcxobjpri.c \
	setfilter.c\
	setfilterix.c \
	settranslate.c\
	killtaskbrokers.c \
	lockbrokerlist.c

COMMOBJS =	activatecxobj.o \
		addievents.o \
		attachcxobj.o \
		clearcxobjerror.o \
		createcxobj.o \
		cxbroker.o \
		cxmsgdata.o \
		cxmsgid.o \
		cxmsgtype.o \
		cxnotify.o \
		cxobjerror.o \
		cxobjtype.o \
		deletecxobj.o \
		deletecxobjall.o \
		disposecxmsg.o \
		divertcxmsg.o \
		enqueuecxobj.o \
		freebrokerlist.o \
		getbrokerlist.o \
		insertcxobj.o \
		invertkeymap.o \
		matchix.o \
		parseix.o \
		removecxobj.o \
		findbroker.o \
		routecxmsg.o \
		setcxobjpri.o \
		setfilter.o\
		setfilterix.o \
		settranslate.o \
		eventfuncs.o \
		commodities_inputhandler.o \
		killtaskbrokers.o \
		lockbrokerlist.o

LIBOBJS = commodities_endtag.o \
	functable.o \
	commodities_init.o

GLOBAL	=	cxintern.h

commodities_init.o:	commodities_init.c $(GLOBAL) libdefs.h
activatecxobj.o:	activatecxobj.c $(GLOBAL)
addievents.o:		addievents.c $(GLOBAL)
attachcxobj.o:		attachcxobj.c $(GLOBAL)
clearcxobjerror.o:	clearcxobjerror.c $(GLOBAL)
createcxobj.o:		createcxobj.c $(GLOBAL)
cxbroker.o:		cxbroker.c $(GLOBAL)
cxmsgdata.o:		cxmsgdata.c $(GLOBAL)
cxmsgid.o:		cxmsgid.c $(GLOBAL)
cxmsgtype.o:		cxmsgtype.c $(GLOBAL)
cxnotify.o:		cxnotify.c $(GLOBAL)
cxobjerror.o:		cxobjerror.c $(GLOBAL)
cxobjtype.o:		cxobjtype.c $(GLOBAL)
deletecxobj.o:		deletecxobj.c $(GLOBAL)
deletecxobjall.o:	deletecxobjall.c $(GLOBAL)
disposecxmsg.o:		disposecxmsg.c $(GLOBAL)
divertcxmsg.o:		divertcxmsg.c $(GLOBAL)
enqueuecxobj.o:		enqueuecxobj.c $(GLOBAL)
freebrokerlist.o:	freebrokerlist.c $(GLOBAL)
getbrokerlist.o:	getbrokerlist.c $(GLOBAL)
insertcxobj.o:		insertcxobj.c $(GLOBAL)
invertkeymap.o:		invertkeymap.c $(GLOBAL)
matchix.o:		matchix.c $(GLOBAL)
parseix.o:		parseix.c $(GLOBAL) parse.h
removecxobj.o:		removecxobj.c $(GLOBAL)
findbroker.o:		findbroker.c $(GLOBAL)
routecxmsg.o:		routecxmsg.c $(GLOBAL)
setcxobjpri.o:		setcxobjpri.c $(GLOBAL)
setfilter.o:		setfilter.c $(GLOBAL)
setfilterix.o:		setfilterix.c $(GLOBAL)
settranslate.o:		settranslate.c $(GLOBAL)
functable.o:		functable.c $(GLOBAL) libdefs.h
killtaskbrokers.o:  $(GLOBAL)
lockbrokerlist.o:  $(GLOBAL)

fd:
	@echo "Making $@..."
	@awk -f Source:AROS.old/bin/morphos-ppc/AROS/scripts/genfd.awk $(SRCS) >fd/commodities.fd

libdefines:
	@echo "Making $@..."
	@awk -f Source:AROS.old/bin/morphos-ppc/AROS/scripts/gendefines.awk $(SRCS) >ram:test

commodities.library: $(COMMOBJS) $(LIBOBJS)
	$(LINKECHO)
	$(LINKPREFIX)ppc-morphos-ld -fl libnix $(COMMOBJS) $(LIBOBJS) -lstring -lstringio -lmemblock -lsyscall -o commodities.library.db
	$(LINKPREFIX)ppc-morphos-strip -o commodities.library --remove-section=.comment commodities.library.db

clean:
	rm -f commodities.library commodities.library.db commodities.library.dump *.o *~

install: commodities.library
	mkdir -p /SYS/MorphOS/Libs
	cp commodities.library /SYS/MorphOS/Libs/commodities.library

install-iso: commodities.library
	mkdir -p $(ISOPATH)MorphOS/Libs
	cp commodities.library $(ISOPATH)MorphOS/Libs/commodities.library

source:
	(cd .. && tar --transform "s,^commodities,&.library," -cf $(SOURCEPATH)commodities.library.tar commodities)

DUMP:
	ppc-morphos-objdump --syms --reloc --disassemble-all commodities.library.db >commodities.library.dump

sdk:
	@echo "Making commodities.$(AUTODOCPOSTFIX)..."
	@$(AUTODOCINTERNAL) $(AUTODOCFLAGS) --aros=commodities -o /tmp/commodities.aros.$(AUTODOCPOSTFIX) --aros=commodities.library $(wildcard *.c)
	cat $(ROOTPATH)morphoswb/development/sdk/apldocdisclaimer.txt > commodities.aros.$(AUTODOCPOSTFIX)
	cat /tmp/commodities.aros.$(AUTODOCPOSTFIX) >> commodities.aros.$(AUTODOCPOSTFIX)
	rm /tmp/commodities.aros.$(AUTODOCPOSTFIX)
	@$(AROSDOC) commodities.aros.$(AUTODOCPOSTFIX) commodities.aros.$(AUTODOCPOSTFIX)
	mkdir -p $(SDKPATH)$(SDKROOT)$(SDKDOCS)
	cp commodities.aros.$(AUTODOCPOSTFIX) $(SDKPATH)$(SDKROOT)$(SDKDOCS)/commodities.$(AUTODOCPOSTFIX)
