1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185
|
CC = gcc
CFLAGS = -O2 -g
# -g -DDEBUG
PREFIX = /usr
REAL_PREFIX = /usr
DEBARCH = $(shell dpkg --print-gnu-build-architecture)
HOST = $(DEBARCH)-linux
TARGET-NAME = m68k-palmos-coff
TARBALLDIR = $(shell pwd)/tarballs
EXEEXT =
#.exe
TOOLDIR = $(PREFIX)/bin
OTHERSOURCESDIR = $(shell pwd)/othersources
BINUTILSDIR = $(OTHERSOURCESDIR)/binutils-2.7
GCCDIR = $(OTHERSOURCESDIR)/gcc-2.7.2.2
GDBDIR = $(OTHERSOURCESDIR)/gdb-4.16
GNUARCH = .
TTY = /dev/cua0
M68K_BFD = $(DESTDIR)/$(PREFIX)/lib/lib$(TARGET-NAME)-bfd.a
#LBFD = -L$(DESTDIR)/$(PREFIX)/lib -L$(PREFIX)/lib -lbfd -liberty
LBFD = -L$(DESTDIR)/$(PREFIX)/lib `if [ -f $(M68K_BFD) ]; \
then echo $(M68K_BFD); \
else echo "-L$(PREFIX)/lib -lbfd"; fi` -liberty
LIBCDIR = libc.0.1.2
LIBMDIR = libmf.0.1.2
LIBGLIBDIR = libglib.0.1.0
# export doesn't work on make in gnuwin32 b18...
MAKEEXPORTS = PREFIX=$(PREFIX) TOOLDIR=$(TOOLDIR) \
LIBCDIR=$(LIBCDIR) LIBMDIR=$(LIBMDIR) LIBGLIBDIR=$(LIBGLIBDIR)
all: gdbpanel/gdbpanel.prc example/pilrctst.prc
doeverything: dummy
echo " About to try to untar the gnutools build and install them and prc-tools"
echo " in $(PREFIX)"
echo " If you don't have permissions to write there turn back now"
sleep 5
make gnuuntar
make patch
make gnutools
make all
make install
wineverything: dummy
echo " About to try to untar the gnutools build and install them and prc-tools"
echo " in $(PREFIX)"
echo " If you don't have permissions to write there turn back now"
sleep 5
make gnuuntar
make patch
make winpatch
make gnutools
make all
make install
install: all dummy install-man
cd $(LIBCDIR) ; make $(MAKEEXPORTS) install
cd $(LIBMDIR) ; make $(MAKEEXPORTS) install
cd $(LIBGLIBDIR) ; make $(MAKEEXPORTS) install
cp -f txt2bitm$(EXEEXT) $(PREFIX)/$(TARGET-NAME)/bin
cp -f obj-res$(EXEEXT) $(PREFIX)/$(TARGET-NAME)/bin
cp -f build-prc$(EXEEXT) $(PREFIX)/$(TARGET-NAME)/bin
cp -f stubgen $(PREFIX)/$(TARGET-NAME)/bin
cp -f exportlist $(PREFIX)/$(TARGET-NAME)/bin
-cp -raf PalmOS1 $(PREFIX)/$(TARGET-NAME)/include
-cp -raf PalmOS2 $(PREFIX)/$(TARGET-NAME)/include
ln -snf $(REAL_PREFIX)/$(TARGET-NAME)/include/PalmOS2 $(PREFIX)/$(TARGET-NAME)/include/PalmOS
ln -sf $(REAL_PREFIX)/$(TARGET-NAME)/bin/txt2bitm$(EXEEXT) $(PREFIX)/bin/txt2bitm$(EXEEXT)
ln -sf $(REAL_PREFIX)/$(TARGET-NAME)/bin/obj-res$(EXEEXT) $(PREFIX)/bin/$(TARGET-NAME)-obj-res$(EXEEXT)
ln -sf $(REAL_PREFIX)/$(TARGET-NAME)/bin/exportlist $(PREFIX)/bin/$(TARGET-NAME)-exportlist
ln -sf $(REAL_PREFIX)/$(TARGET-NAME)/bin/build-prc$(EXEEXT) $(PREFIX)/bin/build-prc$(EXEEXT)
ln -sf $(REAL_PREFIX)/$(TARGET-NAME)/bin/stubgen $(PREFIX)/bin/$(TARGET-NAME)-stubgen
install-man: dummy
cp man/* $(PREFIX)/man/man1
send: all
echo Hit the HotSync button on the Pilot connected to $(TTY)
pilot-xfer $(TTY) -i example/gnuhello.prc
obj-res.o: obj-res.c
$(CC) $(CFLAGS) -I $(DESTDIR)/$(PREFIX)/include -I$(PREFIX)/include -c obj-res.c
obj-res$(EXEEXT): obj-res.o
$(CC) $(CFLAGS) obj-res.o $(LBFD) -o obj-res$(EXEEXT)
build-prc$(EXEEXT): build-prc.o emit-prc.o
$(CC) $(CFLAGS) build-prc.o emit-prc.o -o build-prc$(EXEEXT)
txt2bitm$(EXEEXT): txt2bitm.o
$(CC) $(CFLAGS) txt2bitm.o -o txt2bitm$(EXEEXT)
exportlist: dummy
echo \#!/bin/sh > $@
echo -n $(TOOLDIR) >> $@
echo -n /$(TARGET-NAME)-nm \$$1 >> $@
echo " | grep ' T ' | cut -c12- | sort -u" >> $@
chmod +x $@
gdbpanel/gdbpanel.prc: dummy build-prc obj-res txt2bitm libc.a libm.a libGLib.a
cd gdbpanel ; make $(MAKEEXPORTS)
example/pilrctst.prc: dummy build-prc obj-res txt2bitm libc.a libm.a libGLib.a
cd example ; make $(MAKEEXPORTS)
libc.a: dummy exportlist obj-res build-prc libGLib.a
cd $(LIBCDIR) ; make $(MAKEEXPORTS)
ln -sf $(LIBCDIR)/libc.a libc.a
ln -sf $(LIBCDIR)/libc.a libg.a
ln -sf $(LIBCDIR)/libc.sa libc.sa
ln -sf $(LIBCDIR)/libc.sa libg.sa
libm.a: dummy exportlist obj-res build-prc
cd $(LIBMDIR) ; make $(MAKEEXPORTS)
ln -sf $(LIBMDIR)/libmf.a libm.a
libGLib.a: dummy obj-res build-prc
cd $(LIBGLIBDIR) ; make $(MAKEEXPORTS)
gnuuntar: stamp.gnuuntar
stamp.gnuuntar:
-rm -rf othersources
-mkdir othersources
# rm -rf ../gcc-2.7.2.2 ../binutils-2.7 ../gdb-4.16
cd $(OTHERSOURCESDIR); tar -zxvf $(TARBALLDIR)/binutils-2.7.tar.gz
cd $(OTHERSOURCESDIR); tar -zxvf $(TARBALLDIR)/gcc-2.7.2.2.tar.gz
cd $(OTHERSOURCESDIR); tar -zxvf $(TARBALLDIR)/gdb-4.16.tar.gz
touch stamp.gnuuntar
patch: stamp.patch
stamp.patch:
cat *.palmos.diff | (cd $(OTHERSOURCESDIR) ; patch -p0 )
patch -p0 < debian/debian.othersources.patch
touch stamp.patch
winpatch: stamp.winpatch
stamp.winpatch:
cat *.gnuwin32.diff | (cd $(OTHERSOURCESDIR) ; patch -p0 )
touch stamp.patch
gnutools: stamp.binutils stamp.gcc stamp.gdb
stamp.binutils:
cd $(BINUTILSDIR) ; ./configure --host=$(HOST) --prefix=$(PREFIX) --target=$(TARGET-NAME)
cd $(BINUTILSDIR) ; make
cd $(BINUTILSDIR) ; make install prefix=$(DESTDIR)/$(PREFIX)
touch $@
stamp.gcc:
cd $(GCCDIR) ; ./configure --host=$(HOST) --prefix=$(PREFIX) --target=$(TARGET-NAME)
cd $(GCCDIR) ; make LANGUAGES=c
cd $(GCCDIR) ; make LANGUAGES=c install prefix=$(DESTDIR)/$(PREFIX)
touch $@
stamp.gdb:
cd $(GDBDIR) ; ./configure --host=$(HOST) --prefix=$(PREFIX) --target=$(TARGET-NAME)
cd $(GDBDIR) ; make
cd $(GDBDIR) ; make install prefix=$(DESTDIR)/$(PREFIX)
touch $@
dummy:
clean:
rm -f *.[oa] build-prc$(EXEEXT) obj-res$(EXEEXT)
rm -f txt2bitm$(EXEEXT) exportlist *.bin *.sa
rm -f stamp.* build.* install.*
cd gdbpanel ; make clean
cd example ; make clean
cd $(LIBCDIR) ; make clean
cd $(LIBMDIR) ; make clean
cd $(LIBGLIBDIR) ; make clean
|