mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-01-01 06:19:57 +01:00
3c6405d0d1
A full robot vs. robot game now works between two Treos. Added UI to choose BT as transport mechanism, and added new send proc to establish socket connection between host and guest. Works only for two devices: no piconet yet. No error recovery, ability to quit game in middle, start new game, etc.
111 lines
3.5 KiB
Makefile
111 lines
3.5 KiB
Makefile
# -*- mode: Makefile; compile-command: "make ARCH=ARM_ONLY"; -*-
|
|
|
|
PLATFORM = PALM_PNO
|
|
PALMDIR = /usr/local/share/palmdev/sdk-5r3/include
|
|
|
|
# Which arm suite to use? Well, the suite in prc-tools-arm is broken
|
|
# on debian at the moment: builds code that doesn't work. But older
|
|
# versions, e.g. on current debian stable, are ok. For current debian
|
|
# the workaround is to build your own crosscompilation toolchain,
|
|
# which should put arm-elf-gcc in your path. We'll use that if we
|
|
# find it. Otherwise we fall back to the prc-tools-arm chain.
|
|
WHICH = $(shell if which arm-elf-gcc > /dev/null ; then echo elf; else echo palmos; fi)
|
|
|
|
CC_ARM = arm-$(WHICH)-gcc
|
|
OC_ARM= arm-$(WHICH)-objcopy
|
|
OD_ARM = arm-$(WHICH)-objdump
|
|
|
|
OPT = -Os
|
|
MINUS_G = -g
|
|
|
|
INCLUDE += \
|
|
-I$(PALMDIR) \
|
|
-I$(PALMDIR)/Libraries \
|
|
-I$(PALMDIR)/Dynamic \
|
|
-I$(PALMDIR)/Core \
|
|
-I$(PALMDIR)/Extensions/ExpansionMgr \
|
|
-I$(PALMDIR)/Core/UI \
|
|
-I$(PALMDIR)/Core/System \
|
|
-I$(PALMDIR)/Core/System/Unix \
|
|
-I$(PALMDIR)/Core/Hardware \
|
|
-I$(PALMDIR)/Extensions/Bluetooth \
|
|
-I. -I../common -I../relay
|
|
|
|
# NOTE!!!! Added the -w flag to supress all warnings since arm-elf-gcc
|
|
# does so much bitching about the Palm headers. Need to fix that, or
|
|
# use the arm-palmos-gcc, or something. But for now, -w....
|
|
CCFLAGS = $(OPT) $(MINUS_G) -Wall -Wunused-parameter -D__PALMOS__ -D__palmos__ -Asystem=palmos
|
|
ARMCCFS = $(CCFLAGS) -DNATIVE \
|
|
-nostartfiles -mshort-load-bytes -nodefaultlibs -ffixed-r9 \
|
|
-mpic-register=r10 -msingle-pic-base -fpic \
|
|
-Wno-multichar \
|
|
$(INCLUDE)
|
|
|
|
ARMLDFS = -Xlinker --script=./ldscript.arm -lgcc
|
|
|
|
# ARM-specific
|
|
ARM_DEFINES = $(MYDEFS) -DXW_TARGET_PNO -D__LITTLE_ENDIAN
|
|
# turn show progress off for now
|
|
# ARM_DEFINES += -USHOW_PROGRESS
|
|
|
|
include ../common/config.mk
|
|
|
|
OBJS = $(PLATFORM)/pnolet.o \
|
|
$(PLATFORM)/palmmain.o \
|
|
$(PLATFORM)/palmsavg.o \
|
|
$(PLATFORM)/gameutil.o \
|
|
$(PLATFORM)/newgame.o \
|
|
$(PLATFORM)/palmdict.o \
|
|
$(PLATFORM)/palmdraw.o \
|
|
$(PLATFORM)/palmutil.o \
|
|
$(PLATFORM)/dictui.o \
|
|
$(PLATFORM)/dictlist.o \
|
|
$(PLATFORM)/palmir.o \
|
|
$(PLATFORM)/palmip.o \
|
|
$(PLATFORM)/palmbt.o \
|
|
$(PLATFORM)/prefsdlg.o \
|
|
$(PLATFORM)/connsdlg.o \
|
|
$(PLATFORM)/pace_gen.o \
|
|
$(PLATFORM)/pace_man.o \
|
|
$(COMMONOBJ)
|
|
|
|
# The target of this makefile is the .bin files that comprise the
|
|
# pnolet. There will be more than just PNOC0000.bin, but the others
|
|
# get made as a matter of course and as long as they all get included
|
|
# in the .prc we're fine.
|
|
|
|
all: Pnoc0000.bin Pnog0000.bin
|
|
|
|
$(PLATFORM)/%.o : %.c $(MAKEFILE)
|
|
mkdir -p $(PLATFORM)
|
|
$(CC_ARM) -o $@ -c $(ARM_DEFINES) -DHERE $(ARMCCFS) $<
|
|
|
|
$(COMMONOBJDIR)/%.o : $(COMMONDIR)/%.c $(MAKEFILE)
|
|
mkdir -p $(COMMONOBJDIR)
|
|
$(CC_ARM) -o $@ -c $(ARM_DEFINES) -DHERE $(ARMCCFS) $<
|
|
|
|
Pnoc_bin.pre Pnog0000.bin: pace_gen.h $(OBJS)
|
|
$(CC_ARM) $(OBJS) $(ARMCCFS) $(ARMLDFS) -Wl,-Map,Pnoc_bin.map -o tmp.out
|
|
# @$(OD_ARM) --disassemble-all tmp.out
|
|
$(OC_ARM) -j .text -O binary tmp.out Pnoc_bin.pre
|
|
$(OC_ARM) -j .got -O binary tmp.out Pnog0000.bin
|
|
# @rm -f tmp.out
|
|
|
|
# create not only Pnoc0000.bin but any others required to fit the
|
|
# pnolet into 50K chunks (for hotsyncing...)
|
|
Pnoc0000.bin: Pnoc_bin.pre
|
|
rm -f Pnoc????.bin
|
|
split -a 4 -b 50k -d $< Pnoc
|
|
for f in $$(ls Pnoc????); do mv $$f $$f.bin; done
|
|
|
|
pace_gen.c pace_gen.h: ./gen_pace.pl funcfile.txt
|
|
rm -f $@ _dirList
|
|
./gen_pace.pl -func funcfile.txt \
|
|
-file $(PALMDIR)/Core/UI \
|
|
-file $(PALMDIR)/Core/System \
|
|
-file $(PALMDIR)/Extensions/ExpansionMgr \
|
|
-oc pace_gen.c -oh pace_gen.h
|
|
rm -f _dirList
|
|
|
|
clean:
|
|
rm -rf $(OBJS) pace_gen.c pace_gen.h *.bin Pnoc_bin.pre
|