92 lines
3.2 KiB
Makefile
92 lines
3.2 KiB
Makefile
# Copyright (c) 2003, 2004
|
|
# 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
|
|
|
|
# Makefile for palcode
|
|
# Works on alpha-linux and builds elf executable
|
|
|
|
### 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
|
|
|
|
CFLAGS=-I . -I ../h -nostdinc -nostdinc++ -Wa,-m21164
|
|
LDFLAGS=-Ttext 0x4000
|
|
|
|
TLOBJS = osfpal.o platform_tlaser.o
|
|
TLOBJS_COPY = osfpal_cache_copy.o platform_tlaser.o
|
|
TLOBJS_COPY_UNALIGNED = osfpal_cache_copy_unaligned.o platform_tlaser.o
|
|
TSOBJS = osfpal.o platform_tsunami.o
|
|
TSBOBJS = osfpal.o platform_bigtsunami.o
|
|
TSOBJS_COPY = osfpal_cache_copy.o platform_tsunami.o
|
|
TSOBJS_COPY_UNALIGNED = osfpal_cache_copy_unaligned.o platform_bigtsunami.o
|
|
|
|
all: tlaser tsunami tsunami_b64
|
|
|
|
all_copy: tlaser tlaser_copy tsunami tsunami_b64 tsunami_copy
|
|
|
|
osfpal.o: osfpal.S
|
|
$(CC) $(CFLAGS) -o $@ -c $<
|
|
|
|
osfpal_cache_copy.o: osfpal.S
|
|
$(CC) $(CFLAGS) -DCACHE_COPY -o $@ -c $<
|
|
|
|
osfpal_cache_copy_unaligned.o: osfpal.S
|
|
$(CC) $(CFLAGS) -DCACHE_COPY -DCACHE_COPY_UNALIGNED -o $@ -c $<
|
|
|
|
platform_tlaser.o: platform.S
|
|
$(CC) $(CFLAGS) -DTLASER -o $@ -c $<
|
|
|
|
platform_tsunami.o: platform.S
|
|
$(CC) $(CFLAGS) -DTSUNAMI -o $@ -c $<
|
|
|
|
platform_bigtsunami.o: platform.S
|
|
$(CC) $(CFLAGS) -DBIG_TSUNAMI -o $@ -c $<
|
|
|
|
tlaser: $(TLOBJS)
|
|
$(LD) $(LDFLAGS) -o tl_osfpal $(TLOBJS)
|
|
|
|
tlaser_copy: $(TLOBJS_COPY) $(TLOBJS_COPY_UNALIGNED)
|
|
$(LD) $(LDFLAGS) -o tl_osfpal_cache $(TLOBJS_COPY)
|
|
$(LD) $(LDFLAGS) -o tl_osfpal_unalign $(TLOBJS_COPY_UNALIGNED)
|
|
|
|
tsunami: $(TSOBJS)
|
|
$(LD) $(LDFLAGS) -o ts_osfpal $(TSOBJS)
|
|
|
|
tsunami_b64: $(TSBOBJS)
|
|
$(LD) $(LDFLAGS) -o tsb_osfpal $(TSBOBJS)
|
|
|
|
tsunami_copy: $(TSOBJS_COPY) $(TSOBJS_COPY_UNALIGNED)
|
|
$(LD) $(LDFLAGS) -o ts_osfpal_cache $(TSOBJS_COPY)
|
|
$(LD) $(LDFLAGS) -o ts_osfpal_unalign $(TSOBJS_COPY_UNALIGNED)
|
|
|
|
clean:
|
|
rm -f *.o tl_osfpal tl_osfpal_cache tl_osfpal_unalign ts_osfpal \
|
|
ts_osfpal_cache ts_osfpal_unalign tsb_osfpal
|