# $Id: Makefile,v 1.19 2026/02/15 19:50:13 jacadcaps Exp $

VERSION = 51
G_ROOT      =	../../../
INSTALLPATH = $(G_ROOT)build

LDFLAGS =

LIBS =

LIB = $(G_ROOT)lib/

CC = ppc-morphos-gcc

SHELL=/bin/sh

CFLAGS = -noixemul -O2 -mcpu=604e -Wall -D__MORPHOS__ -DPUBLIC_ONLY -DUSE_INLINE_STDARG -I./ -I$(G_ROOT)morphoswb/development/os-include/ -I$(G_ROOT)morphoswb/development/include/ -I$(G_ROOT)include/

SHELL = /bin/sh

ROOTPATH 	= $(G_ROOT)
include $(ROOTPATH)SDK.global

.SUFFIXES: .C .o

OBJS = \
	arrowclass.o\
	basicfuncs.o\
	buttonclass.o\
	checkboxclass.o\
	createcontext.o\
	creategadgeta.o\
	createmenusa.o\
	cycleclass.o\
	drawbevelboxa.o\
	freegadgets.o\
	freemenus.o\
	freevisualinfo.o\
	functable.o\
	gadgets.o\
	gadtools_init.o\
	getvisualinfoa.o\
	gt_beginrefresh.o\
	gt_endrefresh.o\
	gt_filterimsg.o\
	gt_getgadgetattrsa.o\
	gt_getimsg.o\
	gt_postfilterimsg.o\
	gt_refreshwindow.o\
	gt_replyimsg.o\
	gt_setgadgetattrsa.o\
	layoutmenuitemsa.o\
	layoutmenusa.o\
	groupclass.o\
	listviewclass.o\
	listviewgclass.o\
	menus.o\
	mempool.o\
	mxclass.o\
	paletteclass.o\
	scrollerclass.o\
	scrollergclass.o\
	sliderclass.o\
	slidergclass.o\
	stringclass.o\
	textclass.o\


all: gadtools.library.elf


%.o: %.c
	@echo "Making $@..."
	@$(CC) $(CFLAGS) -c $*.c

gadtools.library.elf: $(OBJS) endtag.o
	@echo "Making $@..."
	@ppc-morphos-ld -fl libnix $(OBJS) -lstring -lmemblock -labox -lsyscall endtag.o -o gadtools.library.elf.db
	@ppc-morphos-strip -s --remove-section .comment gadtools.library.elf.db -o gadtools.library.elf

dump:
	ppc-morphos-objdump --syms --reloc --disassemble-all gadtools.library.elf.db >gadtools.library.elf.dump

clean:
	rm -f gadtools.library.elf *.o *~ *.db

install: all
#	-cp gadtools.library.elf.db $(INSTALLPATH)/modules/gadtools.library.elf

install-build: all $(INSTALLPATH)/modules/gadtools.library.elf

install-iso: all

$(INSTALLPATH)/modules/gadtools.library.elf: gadtools.library.elf
	cp gadtools.library.elf.db $@

#	-cp gadtools.library.elf ../../extmodules/
#	 -cp gadtools.library.elf /sys/morphos/extmodules/

docs:
	@$(AUTODOCINTERNAL) -o gadtools.doc --aros=gadtools.library $(OBJS:.o=.c)

bump:
	bumprev2 VERSION $(VERSION) FILE $(SRC)gadtools_rev TAG gadtools.library

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

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

arrowclass.o: arrowclass.c gadtools_intern.h
basicfuncs.o: basicfuncs.c gadtools_intern.h
buttonclass.o: buttonclass.c gadtools_intern.h
checkboxclass.o: checkboxclass.c gadtools_intern.h
createcontext.o: createcontext.c gadtools_intern.h
creategadgeta.o: creategadgeta.c gadtools_intern.h
createmenusa.o: createmenusa.c gadtools_intern.h
cycleclass.o: cycleclass.c gadtools_intern.h
drawbevelboxa.o: drawbevelboxa.c gadtools_intern.h
endtag.o: endtag.c
freegadgets.o: freegadgets.c gadtools_intern.h
freemenus.o: freemenus.c gadtools_intern.h
freevisualinfo.o: freevisualinfo.c gadtools_intern.h
functable.o: functable.c
gadgets.o: gadgets.c gadtools_intern.h
gadtools_init.o: gadtools_init.c gadtools_intern.h libdefs.h gadtools_rev.h
getvisualinfoa.o: getvisualinfoa.c gadtools_intern.h
gt_beginrefresh.o: gt_beginrefresh.c gadtools_intern.h
gt_endrefresh.o: gt_endrefresh.c gadtools_intern.h
gt_filterimsg.o: gt_filterimsg.c gadtools_intern.h
gt_getgadgetattrsa.o: gt_getgadgetattrsa.c gadtools_intern.h
gt_getimsg.o: gt_getimsg.c gadtools_intern.h
gt_postfilterimsg.o: gt_postfilterimsg.c gadtools_intern.h
gt_refreshwindow.o: gt_refreshwindow.c gadtools_intern.h
gt_replyimsg.o: gt_replyimsg.c gadtools_intern.h
gt_setgadgetattrsa.o: gt_setgadgetattrsa.c gadtools_intern.h
layoutmenuitemsa.o: layoutmenuitemsa.c gadtools_intern.h
layoutmenusa.o: layoutmenusa.c gadtools_intern.h
groupclass.o: groupclass.c gadtools_intern.h
listviewclass.o: listviewclass.c gadtools_intern.h
listviewgclass.o: listviewgclass.c gadtools_intern.h
menus.o: menus.c gadtools_intern.h
mempool.o: mempool.c mempool.h
mxclass.o: mxclass.c gadtools_intern.h
paletteclass.o: paletteclass.c gadtools_intern.h
scrollerclass.o: scrollerclass.c gadtools_intern.h
scrollergclass.o: scrollergclass.c gadtools_intern.h
sliderclass.o: sliderclass.c gadtools_intern.h
slidergclass.o: slidergclass.c gadtools_intern.h
stringclass.o: stringclass.c gadtools_intern.h
stringgclass.o: stringgclass.c gadtools_intern.h
textclass.o: textclass.c gadtools_intern.h
