-
-all: console
-
DBMENTRY = fffffc0000010000
INCLUDES = -I$(PALCODE) -I$(INCLUDEH) -I$(M5)/dev
SOURDIR = ./
PALCODE = ../palcode
INCLUDEH = ../h
-CC=gcc
-#AS=gas
+
+ARCHNAME=$(shell uname -m)
+
+### If we are not compiling on an alpha, we must use cross tools ###
+ifneq ($(ARCHNAME), alpha)
+CC=alpha-unknown-linux-gnu-gcc
+AS=alpha-unknown-linux-gnu-as
+CXX=alpha-unknown-linux-gnu-g++
+LD=alpha-unknown-linux-gnu-ld
+endif
+
+### Make sure that the M5 variable is set ###
+ifndef M5
+$(error The M5 variable must be set)
+endif
+
+all: console
dbmentry.o: dbmentry.s
- $(AS) $(INCLUDES) -nointrinsics -o $*.o $*.s
+ g++ -I ../h -I ../palcode -E -P -nostdinc -nostdinc++ -x c++ dbmentry.s | \
+ $(AS) -m 21164 -o dbmentry.s.o
console.o: console.c
- $(CC) -g3 $(INCLUDES) -nointrinsics -o $*.o -c $*.c
+ $(CC) -g3 $(INCLUDES) -D _TIME_T -nostdinc++ -o $*.o -c $*.c
printf.o: printf.c
- $(CC) -g3 $(INCLUDES) -nointrinsics -o $*.o -c $*.c
+ $(CC) -g3 $(INCLUDES) -nostdinc++ -o $*.o -c $*.c
paljtokern.s.o: paljtokern.s
g++ -I ../palcode -E -P -nostdinc -nostdinc++ -x c++ paljtokern.s | \
- gas -m 21164 -o paljtokern.s.o
+ $(AS) -m 21164 -o paljtokern.s.o
paljtoslave.s.o: paljtoslave.s
g++ -I ../palcode -E -P -nostdinc -nostdinc++ -x c++ paljtoslave.s | \
- gas -m 21164 -o paljtoslave.s.o
-
-paljtokern.c: paljtokern.s.o
- echo 'unsigned int palJToKern[] = {' > paljtokern.c
- dis paljtokern.s.o | awk '{print "0x"$$2","}' >> paljtokern.c
- echo "0x0\n};" >> paljtokern.c
-
-paljtoslave.c: paljtoslave.s.o
- echo "unsigned int palJToSlave[] = {" > paljtoslave.c
- dis paljtoslave.s.o | awk '{print "0x"$$2","}' >> paljtoslave.c
- echo "0x0\n};" >> paljtoslave.c
-
-paljtokern.c.o: paljtokern.c
- $(CC) -g3 -nointrinsics -o paljtokern.c.o -c paljtokern.c
-
-paljtoslave.c.o: paljtoslave.c
- $(CC) -g3 -nointrinsics -o paljtoslave.c.o -c paljtoslave.c
+ $(AS) -m 21164 -o paljtoslave.s.o
-console: console.o dbmentry.o printf.o paljtokern.c.o paljtoslave.c.o
- $(LD) -o console -N -T $(DBMENTRY) -non_shared \
- dbmentry.o console.o printf.o paljtokern.c.o paljtoslave.c.o -lc
+console: console.o dbmentry.o printf.o paljtokern.s.o paljtoslave.s.o
+ $(LD) -o console -N -Ttext $(DBMENTRY) -non_shared \
+ dbmentry.s.o console.o printf.o paljtokern.s.o paljtoslave.s.o -lc
install: console
scp console zizzer.eecs.umich.edu:/z/m5/system/testing/binaries/console