fix Makefile for new source tree
[gem5.git] / system / alpha / console / Makefile
index 4a5cba216f78da4b3d647ec8404d9ab7190b2a85..884255d777c9cdad23d33d09ba99c1329950c8a5 100644 (file)
@@ -1,52 +1,61 @@
+# Copyright (c) 2005 
+# The Regents of The University of Michigan
+# All Rights Reserved
+#
+# This code is part of the M5 simulator.
+#
+# Permission is granted to use, copy, create derivative works and
+# redistribute this software and such derivative works for any purpose,
+# so long as the copyright notice above, this grant of permission, and
+# the disclaimer below appear in all copies made; and so long as the
+# name of The University of Michigan is not used in any advertising or
+# publicity pertaining to the use or distribution of this software
+# without specific, written prior authorization.
+#
+# THIS SOFTWARE IS PROVIDED AS IS, WITHOUT REPRESENTATION FROM THE
+# UNIVERSITY OF MICHIGAN AS TO ITS FITNESS FOR ANY PURPOSE, AND WITHOUT
+# WARRANTY BY THE UNIVERSITY OF MICHIGAN OF ANY KIND, EITHER EXPRESS OR
+# IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE REGENTS OF
+# THE UNIVERSITY OF MICHIGAN SHALL NOT BE LIABLE FOR ANY DAMAGES,
+# INCLUDING DIRECT, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+# DAMAGES, WITH RESPECT TO ANY CLAIM ARISING OUT OF OR IN CONNECTION
+# WITH THE USE OF THE SOFTWARE, EVEN IF IT HAS BEEN OR IS HEREAFTER
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+#
+# Authors: Nathan L. Binkert
+#          Ali G. Saidi
+
+### If we are not compiling on an alpha, we must use cross tools ###    
+ifneq ($(shell uname -m), alpha)
+CROSS_COMPILE?=alpha-unknown-linux-gnu-
+endif
+CC=$(CROSS_COMPILE)gcc
+AS=$(CROSS_COMPILE)as
+LD=$(CROSS_COMPILE)ld
+
+DBMENTRY= fffffc0000010000
+CFLAGS=-I . -I ../h -I$(M5)/src/dev -I$(M5)/util/m5/ -fno-builtin -Wa,-m21164
+OBJS=dbmentry.o printf.o paljtokern.o paljtoslave.o console.o m5op.o
+
+### Make sure that the M5 variable is set ###
+ifndef M5
+$(error The M5 variable must be set)
+endif
 
 all: console
 
-DBMENTRY       = fffffc0000010000
-INCLUDES        = -I$(PALCODE) -I$(INCLUDEH) -I$(M5)/dev
+m5op.o: $(M5)/util/m5/m5op.S
+       $(CC) $(CFLAGS) -nostdinc -o $@ -c $<
 
-SOURDIR = ./
-PALCODE  = ../palcode
-INCLUDEH = ../h
+%.o: %.S
+       $(CC) $(CFLAGS) -nostdinc -o $@ -c $<
 
-dbmentry.o: dbmentry.s 
-       $(AS)  $(INCLUDES) -nointrinsics -o $*.o $*.s
+%.o: %.c
+       $(CC)  -g3 $(CFLAGS) -o $@ -c $<
 
-console.o: console.c
-       $(CC)  -g3 $(INCLUDES) -nointrinsics -o $*.o -c $*.c
-
-printf.o: printf.c 
-       $(CC)  -g3 $(INCLUDES) -nointrinsics -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
-
-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
-
-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
-
-install: console
-       scp console zizzer.eecs.umich.edu:/z/m5/system/testing/binaries/console
+console: $(OBJS)
+       $(LD) -o console -N -Ttext $(DBMENTRY) -non_shared $(OBJS) -lc
 
 clean:
-       rm -f *.o console *.strip paljtokern.c paljtoslave.c
+       rm -f *.o console