## Makefile for Handhelj

TARGET = Handhelj
APPNAME = "Handhelj"
APPID = "HaLJ"

CLIENTVERSION = "PalmOS-Handhelj/1.3.0beta1"

OBJS = obj/AboutForm.o obj/ButtonBar.o obj/ConnectionForm.o obj/EditUserForm.o obj/Entry.o obj/HTTP.o obj/Handhelj.o obj/LJ.o obj/MainForm.o obj/Moods.o obj/Net.o obj/NetActivityForm.o obj/NewUserForm.o obj/Prefs.o obj/StrPairs.o obj/User.o obj/UserForm.o obj/md5.o obj/qsort.o obj/$(TARGET)-sections.o
LIBS = 

CC = m68k-palmos-gcc
LD = m68k-palmos-ld

CFLAGS = -Wall -Wno-unknown-pragmas -g -O3 -DMULTI -DCLIENTVERSION='$(CLIENTVERSION)'
LDFLAGS = -g -Xlinker -Map -Xlinker $(TARGET).map

PILRC = pilrc
MULTIGEN = m68k-palmos-multigen
NM = m68k-palmos-nm
BUILDPRC = build-prc
PILOTXFER = pilot-xfer

all: $(TARGET).prc

obj/AboutForm.o: src/AboutForm.c src/AboutForm.h src/HandheljRsc.h
	$(CC) $(CFLAGS) -o $@ -c $<
obj/ButtonBar.o: src/ButtonBar.c src/ButtonBar.h src/Handhelj.h src/MainForm.h src/HandheljRsc.h
	$(CC) $(CFLAGS) -o $@ -c $<
obj/ConnectionForm.o: src/ConnectionForm.c src/ConnectionForm.h src/HandheljRsc.h src/Handhelj.h
	$(CC) $(CFLAGS) -o $@ -c $<
obj/EditUserForm.o: src/EditUserForm.c src/EditUserForm.h src/Handhelj.h src/UserForm.h src/User.h src/LJ.h
	$(CC) $(CFLAGS) -o $@ -c $<
obj/Entry.o: src/Entry.c src/Entry.h src/Handhelj.h
	$(CC) $(CFLAGS) -o $@ -c $<
obj/HTTP.o: src/HTTP.c src/HTTP.h src/Net.h src/HandheljRsc.h src/Handhelj.h
	$(CC) $(CFLAGS) -o $@ -c $<
obj/Handhelj.o: src/Handhelj.c src/Handhelj.h src/HandheljRsc.h src/MainForm.h src/AboutForm.h src/ButtonBar.h src/Entry.h src/Moods.h src/Net.h src/UserForm.h src/NewUserForm.h src/ConnectionForm.h src/NetActivityForm.h
	$(CC) $(CFLAGS) -o $@ -c $<
obj/LJ.o: src/LJ.c src/Handhelj.h src/StrPairs.h src/Moods.h src/User.h src/HTTP.h src/Net.h src/LJ.h
	$(CC) $(CFLAGS) -o $@ -c $<
obj/MainForm.o: src/MainForm.c src/MainForm.h src/HandheljRsc.h src/Handhelj.h src/LJ.h
	$(CC) $(CFLAGS) -o $@ -c $<
obj/Moods.o: src/Moods.c src/Moods.h src/Handhelj.h
	$(CC) $(CFLAGS) -o $@ -c $<
obj/Net.o: src/Net.c src/Net.h src/Handhelj.h src/NetActivityForm.h
	$(CC) $(CFLAGS) -o $@ -c $<
obj/NetActivityForm.o: src/NetActivityForm.c src/Handhelj.h src/HandheljRsc.h
	$(CC) $(CFLAGS) -o $@ -c $<
obj/NewUserForm.o: src/NewUserForm.c src/NewUserForm.h src/Handhelj.h src/UserForm.h src/User.h src/LJ.h
	$(CC) $(CFLAGS) -o $@ -c $<
obj/Prefs.o: src/Prefs.c src/Prefs.h src/Handhelj.h
	$(CC) $(CFLAGS) -o $@ -c $<
obj/StrPairs.o: src/StrPairs.c src/StrPairs.h
	$(CC) $(CFLAGS) -o $@ -c $<
obj/User.o: src/User.c src/User.h src/Handhelj.h src/md5.h
	$(CC) $(CFLAGS) -o $@ -c $<
obj/UserForm.o: src/UserForm.c src/UserForm.h src/MainForm.h src/HandheljRsc.h src/Handhelj.h
	$(CC) $(CFLAGS) -o $@ -c $<
obj/md5.o: src/md5.c src/md5.h
	$(CC) $(CFLAGS) -o $@ -c $<
obj/qsort.o: src/qsort.c src/Moods.h
	$(CC) $(CFLAGS) -o $@ -c $<

$(TARGET).prc: $(TARGET) obj/bin.res
	$(BUILDPRC) $(TARGET).def -o obj/$(TARGET).prc -n $(APPNAME) -c $(APPID) $(TARGET) obj/*.bin
	cp obj/$(TARGET).prc .

obj/bin.res: $(TARGET).rcp src/HandheljRsc.h gfx/*.bmp
	$(PILRC) $(TARGET).rcp obj
	touch obj/bin.res

$(TARGET): $(OBJS) obj/$(TARGET)-sections.ld
	$(CC) $(LDFLAGS) $(OBJS) obj/$(TARGET)-sections.ld -o obj/$(TARGET) $(LIBS)
	! $(NM) -u obj/$(TARGET) | grep .
	cp obj/$(TARGET) .

obj/$(TARGET)-sections.o: obj/$(TARGET)-sections.s
	$(CC) -o obj/$(TARGET)-sections.o -c obj/$(TARGET)-sections.s

obj/$(TARGET)-sections.s obj/$(TARGET)-sections.ld: $(TARGET).def
	$(MULTIGEN) -b obj/$(TARGET)-sections $(TARGET).def

send: $(TARGET).prc
	$(PILOTXFER) -i $(TARGET).prc

depend:
	makedepend -Y -I. *.c

clean:
	-rm -f $(TARGET) $(TARGET).prc obj/*.o obj/*.bin obj/bin.res obj/$(TARGET) obj/$(TARGET).prc obj/$(TARGET)-sections.s obj/$(TARGET)-sections.ld

veryclean: clean
	-rm -f $(TARGET).prc pilot.ram pilot.scratch

