palm-os-sdk/PalmOne/Samples/IRCommunication/Makefile

144 lines
5.5 KiB
Makefile

###############################################################
#
# Makefile for IRCommunication
#
# Targets:
# all - build and install
# clean - clean everything
# check - run self-tests
#
###################################################################
# ====================================================
# Common Make variables for PalmOS executables
# ====================================================
# Tools we use
CC = m68k-palmos-gcc
AS = m68k-palmos-as
HS_COMMON_INCS_DIR = $(shell cat includes.txt) $(shell cat platform.txt) -I Rsc -I Src -I Incs
HS_PALM_RC_FLAGS = $(HS_COMMON_INCS_DIR)
CFLAGS = -O2 -g -Wall $(HS_PALM_RC_FLAGS)
LDFLAGS = -g
# Directory paths
OUTPUTDIR = Obj/
SRCDIR = Src/
RSCDIR = Rsc/
TESTSDIR = Tests/
RESULTDIR = Result/
APP1 = IRReceiverRaw
APPID1 = IRRR
APP2 = IRTransmitterRaw
APPID2 = IRTR
APP3 = IRUnframer
APPID3 = IRUF
APP4 = IRFramer
APPID4 = IRFR
APP5 = IRFramerZire71
APPID5 = IRFZ
APP6 = IRCOMMTransmitter
APPID6 = IRCT
APP7 = IRCOMMReceiver
APPID7 = IRCR
RCPFILE1=$(RSCDIR)$(APP1).rcp
RCPFILE2=$(RSCDIR)$(APP2).rcp
RCPFILE3=$(RSCDIR)$(APP3).rcp
RCPFILE4=$(RSCDIR)$(APP4).rcp
RCPFILE5=$(RSCDIR)$(APP5).rcp
RCPFILE6=$(RSCDIR)$(APP6).rcp
RCPFILE7=$(RSCDIR)$(APP7).rcp
OBJS1=$(OUTPUTDIR)$(APP1).o $(OUTPUTDIR)Common.o
OBJS2=$(OUTPUTDIR)$(APP2).o $(OUTPUTDIR)Common.o
OBJS3=$(OUTPUTDIR)$(APP3).o $(OUTPUTDIR)Common.o
OBJS4=$(OUTPUTDIR)$(APP4).o $(OUTPUTDIR)Common.o
OBJS5=$(OUTPUTDIR)$(APP5).o $(OUTPUTDIR)Common.o
OBJS6=$(OUTPUTDIR)$(APP6).o $(OUTPUTDIR)Common.o
OBJS7=$(OUTPUTDIR)$(APP7).o $(OUTPUTDIR)Common.o
all: $(OUTPUTDIR)$(APP1).prc $(OUTPUTDIR)$(APP2).prc $(OUTPUTDIR)$(APP3).prc $(OUTPUTDIR)$(APP4).prc $(OUTPUTDIR)$(APP5).prc $(OUTPUTDIR)$(APP6).prc $(OUTPUTDIR)$(APP7).prc
$(OUTPUTDIR):
mkdir Obj
$(RESULTDIR):
mkdir Result
$(OUTPUTDIR)%.o: $(SRCDIR)%.c
$(CC) $(CFLAGS) -c $< -o $@
$(CC) $(CFLAGS) -c $(SRCDIR)Common.c -o $(OUTPUTDIR)Common.o
$(CC) $(CFLAGS) -c $(SRCDIR)$(APP1).c -o $(OUTPUTDIR)$(APP1).o
$(CC) $(CFLAGS) -c $(SRCDIR)$(APP2).c -o $(OUTPUTDIR)$(APP2).o
$(CC) $(CFLAGS) -c $(SRCDIR)$(APP3).c -o $(OUTPUTDIR)$(APP3).o
$(CC) $(CFLAGS) -c $(SRCDIR)$(APP4).c -o $(OUTPUTDIR)$(APP4).o
$(CC) $(CFLAGS) -c $(SRCDIR)$(APP5).c -o $(OUTPUTDIR)$(APP5).o
$(CC) $(CFLAGS) -c $(SRCDIR)$(APP6).c -o $(OUTPUTDIR)$(APP6).o
$(CC) $(CFLAGS) -c $(SRCDIR)$(APP7).c -o $(OUTPUTDIR)$(APP7).o
$(OUTPUTDIR)$(APP1).prc: $(OUTPUTDIR) $(RESULTDIR) $(OUTPUTDIR)$(APP1) $(OUTPUTDIR)$(APP1).stamp
build-prc -o $(RESULTDIR)$(APP1).prc -n $(APP1) -t appl -c $(IRRR) -n $(OUTPUTDIR)$(APP1) $(OUTPUTDIR)*.bin
$(OUTPUTDIR)$(APP1): $(OBJS1) $(RCPFILE1)
$(CC) $(CFLAGS) -o $@ $(OBJS1)
$(OUTPUTDIR)$(APP1).stamp: $(OBJS1) $(RCPFILE1)
( cd $(OUTPUTDIR); rm *.bin; pilrc -I ../$(SRCDIR) -I ../$(RSCDIR) ../$(RCPFILE1))
touch $(OUTPUTDIR)$(APP1).stamp
$(OUTPUTDIR)$(APP2).prc: $(OUTPUTDIR) $(RESULTDIR) $(OUTPUTDIR)$(APP2) $(OUTPUTDIR)$(APP2).stamp
build-prc -o $(RESULTDIR)$(APP2).prc -n $(APP2) -t appl -c $(IRTR) -n $(OUTPUTDIR)$(APP2) $(OUTPUTDIR)*.bin
$(OUTPUTDIR)$(APP2): $(OBJS2) $(RCPFILE2)
$(CC) $(CFLAGS) -o $@ $(OBJS2)
$(OUTPUTDIR)$(APP2).stamp: $(OBJS2) $(RCPFILE2)
( cd $(OUTPUTDIR); rm *.bin; pilrc -I ../$(SRCDIR) -I ../$(RSCDIR) ../$(RCPFILE2))
touch $(OUTPUTDIR)$(APP2).stamp
$(OUTPUTDIR)$(APP3).prc: $(OUTPUTDIR) $(RESULTDIR) $(OUTPUTDIR)$(APP3) $(OUTPUTDIR)$(APP3).stamp
build-prc -o $(RESULTDIR)$(APP3).prc -n $(APP3) -t appl -c $(IRUR) -n $(OUTPUTDIR)$(APP3) $(OUTPUTDIR)*.bin
$(OUTPUTDIR)$(APP3): $(OBJS3) $(RCPFILE3)
$(CC) $(CFLAGS) -o $@ $(OBJS3)
$(OUTPUTDIR)$(APP3).stamp: $(OBJS3) $(RCPFILE3)
( cd $(OUTPUTDIR); rm *.bin; pilrc -I ../$(SRCDIR) -I ../$(RSCDIR) ../$(RCPFILE3))
touch $(OUTPUTDIR)$(APP3).stamp
$(OUTPUTDIR)$(APP4).prc: $(OUTPUTDIR) $(RESULTDIR) $(OUTPUTDIR)$(APP4) $(OUTPUTDIR)$(APP4).stamp
build-prc -o $(RESULTDIR)$(APP4).prc -n $(APP4) -t appl -c $(IRFR) -n $(OUTPUTDIR)$(APP4) $(OUTPUTDIR)*.bin
$(OUTPUTDIR)$(APP4): $(OBJS4) $(RCPFILE4)
$(CC) $(CFLAGS) -o $@ $(OBJS4)
$(OUTPUTDIR)$(APP4).stamp: $(OBJS4) $(RCPFILE4)
( cd $(OUTPUTDIR); rm *.bin; pilrc -I ../$(SRCDIR) -I ../$(RSCDIR) ../$(RCPFILE4))
touch $(OUTPUTDIR)$(APP4).stamp
$(OUTPUTDIR)$(APP5).prc: $(OUTPUTDIR) $(RESULTDIR) $(OUTPUTDIR)$(APP5) $(OUTPUTDIR)$(APP5).stamp
build-prc -o $(RESULTDIR)$(APP5).prc -n $(APP5) -t appl -c $(IRFZ) -n $(OUTPUTDIR)$(APP5) $(OUTPUTDIR)*.bin
$(OUTPUTDIR)$(APP5): $(OBJS5) $(RCPFILE5)
$(CC) $(CFLAGS) -o $@ $(OBJS5)
$(OUTPUTDIR)$(APP5).stamp: $(OBJS5) $(RCPFILE5)
( cd $(OUTPUTDIR); rm *.bin; pilrc -I ../$(SRCDIR) -I ../$(RSCDIR) ../$(RCPFILE5))
touch $(OUTPUTDIR)$(APP5).stamp
$(OUTPUTDIR)$(APP6).prc: $(OUTPUTDIR) $(RESULTDIR) $(OUTPUTDIR)$(APP6) $(OUTPUTDIR)$(APP6).stamp
build-prc -o $(RESULTDIR)$(APP6).prc -n $(APP6) -t appl -c $(IRCT) -n $(OUTPUTDIR)$(APP6) $(OUTPUTDIR)*.bin
$(OUTPUTDIR)$(APP6): $(OBJS6) $(RCPFILE6)
$(CC) $(CFLAGS) -o $@ $(OBJS6)
$(OUTPUTDIR)$(APP6).stamp: $(OBJS6) $(RCPFILE6)
( cd $(OUTPUTDIR); rm *.bin; pilrc -I ../$(SRCDIR) -I ../$(RSCDIR) ../$(RCPFILE6))
touch $(OUTPUTDIR)$(APP6).stamp
$(OUTPUTDIR)$(APP7).prc: $(OUTPUTDIR) $(RESULTDIR) $(OUTPUTDIR)$(APP7) $(OUTPUTDIR)$(APP7).stamp
build-prc -o $(RESULTDIR)$(APP7).prc -n $(APP7) -t appl -c $(IRCR) -n $(OUTPUTDIR)$(APP7) $(OUTPUTDIR)*.bin
$(OUTPUTDIR)$(APP7): $(OBJS7) $(RCPFILE7)
$(CC) $(CFLAGS) -o $@ $(OBJS7)
$(OUTPUTDIR)$(APP7).stamp: $(OBJS7) $(RCPFILE7)
( cd $(OUTPUTDIR); rm *.bin; pilrc -I ../$(SRCDIR) -I ../$(RSCDIR) ../$(RCPFILE7))
touch $(OUTPUTDIR)$(APP7).stamp
clean:
rm -rf $(OUTPUTDIR)
rm -rf $(RESULTDIR)