Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / legion / src / procs / sunsparc / libniagara2 / Makefile.inc
# ========== Copyright Header Begin ==========================================
#
# OpenSPARC T2 Processor File: Makefile.inc
# Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES.
#
# The above named program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
# License version 2 as published by the Free Software Foundation.
#
# The above named program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this work; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
#
# ========== Copyright Header End ============================================
#
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# ident "@(#)Makefile.inc 1.20 07/10/12 SMI"
#
# libniagara2 makefile
#
# We create the libniagara2.so loadable module
# from these source files.
#
NIAGARA2_VER=.1
NIAGARA2_COMMON_OBJ=ss_common_n2.o ss_err_trap_n2.o
NIAGARA2_SRC=niagara2.c niagara2_error.c niagara2_device.c niagara2_err_trap.c
NIAGARA2_OBJ=niagara2.o niagara2_error.o niagara2_device.o niagara2_err_trap.o
ifdef BUILDFPSIM
NIAGARA2_COMMON_OBJ+=fpsim_support_n2.o
NIAGARA2_SRC+=fpsim_n2.c
NIAGARA2_OBJ+=fpsim_n2.o
else
NIAGARA2_SRC+=fpsim_dummy_n2.c
NIAGARA2_OBJ+=fpsim_dummy_n2.o
endif
NIAGARA2_LIB=libniagara2.so
NIAGARA2_LIB_LINK=./plugins/$(NIAGARA2_LIB)
NIAGARA2_BIN=$(NIAGARA2_LIB_LINK)$(NIAGARA2_VER)
NIAGARA2_INCLUDES=-I$(SRCDIR)/procs/sunsparc/include
NIAGARA2_CFLAGS=$(NIAGARA2_INCLUDES) $(CFLAGS) $(SHAREDLIB_CFLAGS) -DNIAGARA2 -DHW_TABLEWALK
NIAGARA2_DBG_OBJ=niagara2_dbg
NIAGARA2_DBG_BIN=./plugins/lib$(NIAGARA2_DBG_OBJ).so
# DBG_SRC defined in src/procs/sunsparc/debug/Makefile.inc
NIAGARA2_DBG_SRC=$(DBG_SRC)
LIBS+=\
$(NIAGARA2_BIN)
ifdef INTERNAL_BUILD
LINK_TO_CRYPRO="-llegion_crypto"
NIAGARA2_STREAM_MA_SRC=stream_ma.c
NIAGARA2_STREAM_MA_OBJ=stream_ma.o
NIAGARA2_STREAM_MA_INCLUDES=-I$(SRCDIR)/procs/sunsparc/libcrypto/include
NIAGARA2_RNG_SRC=n2rng.c
NIAGARA2_RNG_OBJ=n2rng.o
$(NIAGARA2_RNG_OBJ): $(NIAGARA2_RNG_SRC)
@echo "================> Making $(NIAGARA2_RNG_OBJ)"
$(CC) $(CPPFLAGS) $(CRYPTO_CFLAGS) -c -o $@ $^
# -DCOMPILER_BIT_FIELD_BUG uses alternate, and less nice, code that
# works around a compiler bug. You need this flag if, without it, all
# CWQ (stream) cryptographic operations (e.g. DES, 3DES) fail with a
# protocol error. It is definitely needed for
# Sun WorkShop 6 update 1 C 5.2 2000/09/11 with -xO3.
# See Bug ID 6325177.
$(NIAGARA2_STREAM_MA_OBJ): $(NIAGARA2_STREAM_MA_SRC)
@echo "================> Making $(NIAGARA2_STREAM_MA_OBJ)"
$(CC) -DCOMPILER_BIT_FIELD_BUG $(NIAGARA2_CFLAGS) \
$(CPPFLAGS) $(NIAGARA2_STREAM_MA_INCLUDES) \
-c -o $@ $^
else
# EXTERNAL build
LINK_TO_CRYPRO=
NIAGARA2_STREAM_MA_SRC=
NIAGARA2_STREAM_MA_OBJ=
NIAGARA2_STREAM_MA_INCLUDES=
NIAGARA2_RNG_SRC=
NIAGARA2_RNG_OBJ=
$(NIAGARA2_RNG_OBJ):
@echo "================> Skipping the make of NIAGARA2_RNG_OBJ for External release"
$(NIAGARA2_STREAM_MA_OBJ):
@echo "================> Skipping the make of NIAGARA2_STREAM_MA_OBJ for External release"
endif
ss_common_n2.o: ../common/ss_common.c
@echo "================> Making $@"
$(CC) $(NIAGARA2_CFLAGS) $(CPPFLAGS) -c -o $@ $^
ss_err_trap_n2.o: ../common/ss_err_trap.c
@echo "================> Making $@"
$(CC) $(NIAGARA2_CFLAGS) $(CPPFLAGS) -c -o $@ $^
niagara2.o: niagara2.c
@echo "================> Making $@"
$(CC) $(NIAGARA2_CFLAGS) $(CPPFLAGS) -c -o $@ $^
niagara2_error.o: niagara2_error.c
@echo "================> Making $@"
$(CC) $(NIAGARA2_CFLAGS) $(CPPFLAGS) -c -o $@ $^
niagara2_device.o: niagara2_device.c
@echo "================> Making $@"
$(CC) $(NIAGARA2_CFLAGS) $(CPPFLAGS) -c -o $@ $^
ifdef BUILDFPSIM
fpsim_support_n2.o: ../common/fpsim_support.s
@echo "================> Making $@"
$(AS) $(ASFLAGS) -P -b -o $@ $^
fpsim_n2.o: fpsim_n2.c
@echo "================> Making $@"
$(CC) $(NIAGARA2_CFLAGS) $(CPPFLAGS) -xcode=pic13 -xregs=no%appl -errwarn=%all -c -o $@ $^
else
fpsim_dummy_n2.o: ../common/fpsim_dummy.c
@echo "================> Making $@"
$(CC) $(NIAGARA2_CFLAGS) $(CPPFLAGS) -c -o $@ $<
endif
niagara2_err_trap.o: niagara2_err_trap.c
@echo "================> Making $@"
$(CC) $(NIAGARA2_CFLAGS) $(CPPFLAGS) -c -o $@ $^
$(NIAGARA2_DBG_BIN): $(NIAGARA2_DBG_SRC)
@echo "================> Making $(NIAGARA2_DBG_BIN)"
$(CC) $(CPPFLAGS) $(NIAGARA2_CFLAGS) -xs $(SHAREDLIB_FLAGS) \
-R \$$ORIGIN -o $(NIAGARA2_DBG_BIN) $^
$(NIAGARA2_BIN): $(NIAGARA2_OBJ) $(NIAGARA2_COMMON_OBJ) \
$(NIAGARA2_DBG_BIN) $(NIAGARA2_STREAM_MA_OBJ) $(NIAGARA2_RNG_OBJ)
@echo "================> Making $(NIAGARA2_BIN)"
$(CC) $(CPPFLAGS) $(NIAGARA2_CFLAGS) $(SHAREDLIB_FLAGS) -R \$$ORIGIN \
-o $(NIAGARA2_BIN) $(NIAGARA2_OBJ) $(NIAGARA2_COMMON_OBJ) \
$(NIAGARA2_STREAM_MA_OBJ) $(NIAGARA2_RNG_OBJ) \
-lgeneric -l$(NIAGARA2_DBG_OBJ) $(LINK_TO_CRYPRO)
$(RM) $(NIAGARA2_LIB_LINK)
$(LN) -s $(NIAGARA2_LIB)$(NIAGARA2_VER) $(NIAGARA2_LIB_LINK)