Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / legion / src / procs / sunsparc / libniagara / 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.16 07/01/18 SMI"
#
# We create the libniagara.so loadable module
# from these source files.
#
NIAGARA_VER=.1
NIAGARA_COMMON_OBJ=ss_common_n1.o
NIAGARA_SRC=niagara.c niagara_err_trap.c
NIAGARA_OBJ=niagara.o niagara_err_trap.o
ifdef BUILDFPSIM
NIAGARA_COMMON_OBJ+=fpsim_support_n1.o
NIAGARA_SRC+=fpsim_bw.c
NIAGARA_OBJ+=fpsim_bw.o
else
NIAGARA_SRC+=fpsim_dummy_bw.c
NIAGARA_OBJ+=fpsim_dummy_bw.o
endif
NIAGARA_LIB=libniagara.so
NIAGARA_LIB_LINK=./plugins/$(NIAGARA_LIB)
NIAGARA_BIN=$(NIAGARA_LIB_LINK)$(NIAGARA_VER)
NIAGARA_INCLUDES=-I$(SRCDIR)/procs/sunsparc/include
NIAGARA_CFLAGS=$(NIAGARA_INCLUDES) $(CFLAGS) $(SHAREDLIB_CFLAGS) -DNIAGARA1
NIAGARA_DBG_OBJ=niagara_dbg
NIAGARA_DBG_BIN=./plugins/lib$(NIAGARA_DBG_OBJ).so
# DBG_SRC defined in src/procs/sunsparc/debug/Makefile.inc
NIAGARA_DBG_SRC=$(DBG_SRC)
LIBS+=\
$(NIAGARA_BIN)
ifdef INTERNAL_BUILD
LINK_TO_CRYPRO="-llegion_crypto"
NIAGARA_MODARITH_SRC=modarith.c
NIAGARA_MODARITH_OBJ=modarith.o
$(NIAGARA_MODARITH_OBJ) : $(NIAGARA_MODARITH_SRC)
@echo "================> Making $(NIAGARA_MODARITH_OBJ)"
$(CC) $(NIAGARA_CFLAGS) $(CPPFLAGS) -c -o $@ $<
else
LINK_TO_CRYPRO=
NIAGARA_MODARITH_SRC=
NIAGARA_MODARITH_OBJ=
CRYPTO_BIN=
$(NIAGARA_MODARITH_OBJ) :
@echo "================> Skipping the make of NIAGARA_MODARITH_OBJ for External release"
endif
ss_common_n1.o: ../common/ss_common.c
@echo "================> Making $@"
$(CC) $(NIAGARA_CFLAGS) $(CPPFLAGS) -c -o $@ $<
niagara.o : niagara.c
@echo "================> Making $@"
$(CC) $(NIAGARA_CFLAGS) $(CPPFLAGS) -c -o $@ $<
ifdef BUILDFPSIM
fpsim_support_n1.o: ../common/fpsim_support.s
@echo "================> Making $@"
$(AS) $(ASFLAGS) -P -b -o $@ $<
fpsim_bw.o: fpsim_bw.c
@echo "================> Making $@"
$(CC) $(NIAGARA_CFLAGS) $(CPPFLAGS) -xcode=pic13 -xregs=no%appl -errwarn=%all -c -o $@ $<
else
fpsim_dummy_bw.o: ../common/fpsim_dummy.c
@echo "================> Making $@"
$(CC) $(NIAGARA_CFLAGS) $(CPPFLAGS) -c -o $@ $<
endif
niagara_err_trap.o : niagara_err_trap.c
@echo "================> Making $@"
$(CC) $(NIAGARA_CFLAGS) $(CPPFLAGS) -c -o $@ $<
$(NIAGARA_DBG_BIN) : $(NIAGARA_DBG_SRC)
@echo "================> Making $(NIAGARA_DBG_BIN)"
$(CC) $(CPPFLAGS) $(NIAGARA_CFLAGS) -xs $(SHAREDLIB_FLAGS) -R \$$ORIGIN \
-o $(NIAGARA_DBG_BIN) $^
$(NIAGARA_BIN): $(NIAGARA_OBJ) $(NIAGARA_MODARITH_OBJ) $(NIAGARA_COMMON_OBJ) $(NIAGARA_DBG_BIN) $(CRYPTO_BIN)
@echo "================> Making $(NIAGARA_BIN)"
$(CC) $(CPPFLAGS) $(NIAGARA_CFLAGS) $(SHAREDLIB_FLAGS) -R \$$ORIGIN \
-o $(NIAGARA_BIN) $(NIAGARA_OBJ) $(NIAGARA_MODARITH_OBJ) \
$(NIAGARA_COMMON_OBJ) -lgeneric -l$(NIAGARA_DBG_OBJ) \
$(LINK_TO_CRYPRO)
$(RM) $(NIAGARA_LIB_LINK)
$(LN) -s $(NIAGARA_LIB)$(NIAGARA_VER) $(NIAGARA_LIB_LINK)