# ====================================================
# Include the common Make variables for PalmOS executables
# ====================================================
# This one is constant
include $(PALMTOOLSU)/bin/Palm-DefaultVars.make
# This one can be modified for different build options
#  and is optional
-include $(PALMTOOLSU)/bin/Palm-CustomVars.make
# The shell to use
SHELL    = /bin/sh
# Compiler Flags
CFLAGS   = $(PalmCFlags) -I$(rscDir)
# Directory paths
objDir    = ../Obj
srcDir    = ../Src
rscDir    = ../Rsc
testsDir   = ../Tests
# Target info
progName   = Tex2Hex
progDBName   = "Text to Hex"
progCreator   = TxHx
progPrcFile   = $(progName)App.prc
progTestFile  = $(progName)Test.prc
# These are fake targets used to perform certain actions. Use the .PHONY
#  command to make sure they don't get confused with actual filenames
.PHONY : all install clean help
# Set the default install directory if not passed down to us
#  from the parent makefile
ifndef InstallDir
  InstallDir = $(PALMTOOLSU)/bin/Device
endif
 
#############################################################
# Master Builds
#############################################################
all:  $(objDir)/$(progPrcFile)
 $(MAKE) install
install:
 cp $(objDir)/$(progPrcFile) $(InstallDir)
clean:
 rm -f $(objDir)/*
check:
 cmp $(objDir)/$(progTestFile) $(testsDir)/$(progPrcFile)
#############################################################
# Implicit build rules
#############################################################
$(objDir)/%.o :  $(srcDir)/%.c
 $(CC) $(CFLAGS) -c $< -o $@
#############################################################
# Program Build
#############################################################
# ------------------------------------------------------------
# Compile objects
# ------------------------------------------------------------
hdrList = $(srcDir)/Tex2Hex.h
objList = $(objDir)/Tex2Hex.o
$(objDir)/Tex2Hex.o: $(srcDir)/Tex2Hex.c $(hdrList)
 
# ------------------------------------------------------------
# Link and combine with resources.
# ------------------------------------------------------------
$(objDir)/$(progPrcFile): $(objList) $(rscDir)/$(progName).rcp
 $(CC) $(CFLAGS) $(objList) -o $(objDir)/$(progDBName).code.1.sym
 $(PALMRC) -rcp $(rscDir)/$(progName).rcp \
  -gccApp $(objDir)/$(progDBName).code.1.sym \
  -I $(srcDir) -I $(rscDir) \
  -o $(objDir)/$(progPrcFile) \
  -name $(progDBName) -cr $(progCreator)
 # The $(progTestFile) PRC has zero creation and mod dates for
comparison
 # purposes
 $(PALMRC) -rcp $(rscDir)/$(progName).rcp \
  -gccApp $(objDir)/$(progDBName).code.1.sym \
  -I $(srcDir) -I $(rscDir) \
  -o $(objDir)/$(progTestFile) \
  -name $(progDBName) -cr $(progCreator) \
  -zCrDate -zModDate
 ls -l $(objDir)/*.prc