#
# Makefile fr PLZ-Hack
# fr prc-tools 2.0 oder falch.net IDE
#

# Object-Dateien fr Hack, 
# die Datei mit der zu patchenden Funktion kommt zuerst
OBJS     = DmGetResourcePatch.o

# Titel fr Launcher (ignoriert)
ICONTEXT = "PLZ-Hack" 

# Creator ID fr Hack (bei Palm registriert)
CREATORID    = plzH

# Tools
CC       = m68k-palmos-gcc
CFLAGS   = -palmos3.5 -Wall -O
PILRC    = pilrc
PRCFLAGS = -q
OBJRES   = m68k-palmos-obj-res
BUILDPRC = build-prc

all: ./Release/plz-hack.prc

# erzeuge Resource-Datenbank mit Code Segment 1000 und UI Resources
# Type HACK
./Release/plz-hack.prc: ./Release/code03e8.plz-hack.grc ./Release/*.bin
	cd ./Release/ && \
	$(BUILDPRC) -t HACK plz-hack.prc $(ICONTEXT) $(CREATORID) \
	code03e8.plz-hack.grc *.bin 

# erzeuge Resource-Dateien 
# und benennen Code Segment 1 um in Code Segment 1000 (Hex 03e8)
# (die anderen erzeugten Segmente werden ignoriert)
./Release/code03e8.plz-hack.grc: ./Release/plz-hack
	cd ./Release/ && \
	$(OBJRES) plz-hack && \
	mv code0001.plz-hack.grc code03e8.plz-hack.grc

# kompiliere UI-Resourcen
./Release/*.bin: plzhack.rcp
	$(PILRC) $(PRCFLAGS) plzhack.rcp Release

# linke Object-Dateien, aber ohne Startup-Code
./Release/plz-hack: ./Release/DmGetResourcePatch.o
	cd ./Release/ && \
	$(CC) $(CFLAGS) -nostartfiles $(OBJS) -o plz-hack

# kompiliere C-Source-Datei
./Release/DmGetResourcePatch.o : DmGetResourcePatch.c
	@echo "Compiling DmGetResourcePatch.c..." && \
	$(CC) $(CFLAGS) -c $< -o $@

# lsche alle Object-Dateien
clean:
	cd ./Release/ && \
	rm -f $(OBJS) *.bin *.grc 
