-#
-# $Id: Makefile,v 1.2 1997/12/16 01:18:38 bugnion Exp $
-#
-# Revision History:
-#
-# $Log: Makefile,v $
-# Revision 1.2 1997/12/16 01:18:38 bugnion
-# Removed bogus TLASER offsets from palcode build. -- roll over
-# simultaneously with the simulation tree
-#
-# Revision 1.1.1.1 1997/10/30 23:27:18 verghese
-# current 10/29/97
-#
-#
-# Set environment variables to point to various things:
-#
-# EB_TOOLBOX - Where your toolset is located
-#
+#Makefile for palcode
+#Works on alpha-linux and builds elf executable
-EB_TOOLBOX = /wrl/proj/simos/bin/tools/osf
-CPP = /usr/bin/cpp
-AS = $(EB_TOOLBOX)/gas
-LD = $(EB_TOOLBOX)/gld
-DIS = $(EB_TOOLBOX)/alist
-STRIP = $(EB_TOOLBOX)/astrip
-PVC = $(EB_TOOLBOX)/pvc
-MAKEDEP = $(CPP) -MM
+GAS = alpha-linux-as
+CC = alpha-linux-gcc
+LD = alpha-linux-ld
+CFLAGS=-I . -I ../h -D SIMOS -D BUILD_PALCODE -nostdinc -nostdinc++ -Wa,-m21164
+LDFLAGS=-Ttext 0x4000
-#
-# Define KDEBUG if you want a special unprivileged CALL_PAL
-# breakpoint trap handler for remote kernel debugging.
-#
-# Define CONSOLE_ENTRY to change the sys$enter_console
-# transfer address. Default CONSOLE_ENTRY value is 0x10000.
-#
-# Define DISABLE_CRD to disable CRD. Note that reset sets MCES so that
-# correctable errors are ignored anyway, but this actually stops the
-# interrupt.
-#
+TLOBJS = osfpal.o platform_tlaser.o
+TLOBJS_COPY = osfpal_cache_copy.o osfpal_cache_copy_unaligned.o
+TSOBJS = osfpal.o platform_m5.o
+TSBOBJS = osfpal.o platform_m5b.o
+TSOBJS_COPY = osfpal_cache_copy.o osfpal_cache_copy_unaligned.o
-DEFINES = -DDISABLE_CRD -DSIMOS -DBUILD_PALCODE
-DEFINES += -I$(SIMTOOLS)/cpus-alpha/simos
+%.o: %.S
+ $(CC) $(CFLAGS) -o $@ -c $<
-CPPFLAGS =
-ASFLAGS = -21164
-#LDFLAGS = -Tstrip 0 -Thdr -N
-#LDFLAGS = -Tstrip 2000 -Thdr -N # removed bugnion
-LDFLAGS = -Tstrip 4000 -Thdr -N
-# Source files:
-#
-# This is the only block in which the list of source files should change.
-#
-# SFILES - assembler source files
-# HFILES - header files
-#
-
-SFILES = osfpal.s platform.s
-
-HFILES = dc21164.h \
- osf.h \
- macros.h \
- ev5_impure.h \
- cserve.h \
- platform.h
-
-# Intermediate files:
-#
-# This block should not change.
-#
-
-IFILES = $(SFILES:.s=.i)
-
-# Object files:
-#
-# This block should not change.
-#
-
-OFILES = $(IFILES:.i=.o)
-
-.DEFAULT:
- co -u $<
-
-.SUFFIXES:
-.SUFFIXES: .s .i .o
-
-.s.i:
- $(CPP) $(CPPFLAGS) $(DEFINES) $< $*.i
-
-osfpal.nh: osfpal
- $(STRIP) -a osfpal $@
- $(DIS) osfpal >osfpal.dis
-
-osfpal: $(OFILES)
- echo '$OFILES= ' $(OFILES)
- $(LD) $(LDFLAGS) -o $@ $(OFILES)
-
-osfpal.o: osfpal.i
- $(AS) $(ASFLAGS) -o $@ osfpal.i
-
-platform.o: platform.i
- $(AS) $(ASFLAGS) -o $@ platform.i
-
-pvc: osfpal.lis osfpal.nh osfpal.ent osfpal.map
- (export PVC_PAL PVC_ENTRY PVC_MAP PVC_CPU; \
- PVC_PAL=osfpal.nh; \
- PVC_ENTRY=osfpal.ent; \
- PVC_MAP=osfpal.map; \
- PVC_CPU=ev5; \
- $(PVC);)
-
-osfpal.lis: osfpal
- $(DIS) osfpal > $@
-
-osfpal.map: osfpal
- $(DIS) -m osfpal > $@
+all: tsunami tsunami_b64
+
+platform_m5b.o: platform_m5.S
+ $(CC) $(CFLAGS) -DBIG_TSUNAMI -o $@ -c $<
-depend:
- @cat < /dev/null > makedep
- @(for i in $(SFILES); do echo $$i; \
- $(MAKEDEP) $(DEFINES) $$i | \
- awk '{ if ($$1 != prev) {if (rec != "") print rec; \
- rec = $$0; prev = $$1; } \
- else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
- else rec = rec " " $$2 } } \
- END { print rec }' | sed 's/\.o/\.i/' \
- >> makedep; done)
- @echo '/^# DO NOT DELETE THIS LINE/+1,$$d' > eddep
- @echo '$$r makedep' >> eddep
- @echo 'w' >> eddep
- @cp Makefile Makefile.bak
- @ed - Makefile < eddep
- @rm -f eddep makedep
- @echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
- @echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
- @echo '# see make depend above' >> Makefile
-
-clean:
- rm -f core $(OFILES) $(IFILES)
-
-clobber: clean
- rm -f osfpal.lis osfpal.nh osfpal.map osfpal
-rcsinfo:
- rlog RCS/*
+tlaser: $(TLOBJS)
+ $(LD) $(LDFLAGS) -o tl_osfpal osfpal.o platform_tlaser.o
-rcsget:
- co -u $(HFILES) $(SFILES)
+tlaser_copy: $(TLOBJS_COPY) $(TLOBJS)
+ $(LD) $(LDFLAGS) -o tl_osfpal_cache osfpal_cache_copy.o platform_tlaser.o
+ $(LD) $(LDFLAGS) -o tl_osfpal_unalign osfpal_cache_copy_unaligned.o platform_tlaser.o
-# DO NOT DELETE THIS LINE
-osfpal.i: osfpal.s
-platform.i: platform.s ./cserve.h ./platform.h
-# DEPENDENCIES MUST END AT END OF FILE
-# IF YOU PUT STUFF HERE IT WILL GO AWAY
-# see make depend above
+tsunami: $(TSOBJS)
+ $(LD) $(LDFLAGS) -o ts_osfpal osfpal.o platform_m5.o
+tsunami_b64: $(TSBOBJS)
+ $(LD) $(LDFLAGS) -o tsb_osfpal osfpal.o platform_m5b.o
+tsunami_copy: $(TSOBJS) $(TSOBJS_COPY)
+ $(LD) $(LDFLAGS) -o ts_osfpal_cache osfpal_cache_copy.o platform_m5.o
+ $(LD) $(LDFLAGS) -o ts_osfpal_unalign osfpal_cache_copy_unaligned.o platform_m5.o
+clean:
+ rm -f *.o tl_osfpal tl_osfpal_cache tl_osfpal_unalign ts_osfpal \
+ ts_osfpal_cache ts_osfpal_unalign tsb_osfpal