Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / obp / tools / libxref / Makefile
CommitLineData
920dae64
AT
1# ========== Copyright Header Begin ==========================================
2#
3# Hypervisor Software File: Makefile
4#
5# Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved.
6#
7# - Do no alter or remove copyright notices
8#
9# - Redistribution and use of this software in source and binary forms, with
10# or without modification, are permitted provided that the following
11# conditions are met:
12#
13# - Redistribution of source code must retain the above copyright notice,
14# this list of conditions and the following disclaimer.
15#
16# - Redistribution in binary form must reproduce the above copyright notice,
17# this list of conditions and the following disclaimer in the
18# documentation and/or other materials provided with the distribution.
19#
20# Neither the name of Sun Microsystems, Inc. or the names of contributors
21# may be used to endorse or promote products derived from this software
22# without specific prior written permission.
23#
24# This software is provided "AS IS," without a warranty of any kind.
25# ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
26# INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
27# PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
28# MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
29# ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
30# DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN
31# OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR
32# FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
33# DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
34# ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
35# SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
36#
37# You acknowledge that this software is not designed, licensed or
38# intended for use in the design, construction, operation or maintenance of
39# any nuclear facility.
40#
41# ========== Copyright Header End ============================================
42# id: @(#)Makefile 1.2 03/08/20
43# purpose:
44# copyright: Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
45# copyright: Use is subject to license terms.
46
47ROOT = ../..
48BP = ${ROOT}/obp
49
50include ${ROOT}/default.mk
51
52CC64 = ${CC}
53CC32 = ${CC}
54DFLAGS = -g
55CFLAGS = ${DFLAGS} ${LIBFLAGS} ${OFLAGS}
56CFLAGS64 = -xarch=v9
57CFLAGS32 =
58INCLUDES = -I .
59MKDIR = mkdir -p
60
61CFILES = datafile.c \
62 find.c \
63 xref.c \
64 filepath.c \
65 xref_support.c
66
67HDRS = xref.h xref_support.h
68
69TARGET = libxref.a
70
71OBJS = $(CFILES:%.c=%.o)
72OBJS_sparcv9 = $(OBJS:%=sparcv9/%)
73OBJS_sparc = $(OBJS:%=sparc/%)
74
75TARGETS:sh = echo "sparc sparc/\${TARGET} "; if [ -x /usr/bin/isalist ]; \
76 then if [ ! -z "`/usr/bin/isalist | grep v9`" ]; \
77 then echo "sparcv9 sparcv9/\${TARGET}"; fi; fi;
78
79INSTALL:sh = echo "\${ROOT}/lib//\${TARGET} "; if [ -x /usr/bin/isalist ]; \
80 then if [ ! -z "`/usr/bin/isalist | grep v9`" ]; \
81 then echo "\${ROOT}/lib/sparcv9/\${TARGET}"; fi; fi;
82
83all: ${TARGETS} ${INSTALL} ${ROOT}/lib/xref.h ${ROOT}/lib/xref_support.h
84
85${ROOT}/lib/sparcv9/libxref.a: ${ROOT}/lib/sparcv9 sparcv9/libxref.a
86 cp sparcv9/libxref.a ${ROOT}/lib/sparcv9
87
88${ROOT}/lib/libxref.a: ${ROOT}/lib sparc/libxref.a
89 cp sparc/libxref.a ${ROOT}/lib
90
91${ROOT}/lib/xref_support.h: xref_support.h
92 cp -f xref_support.h ${ROOT}/lib
93
94${ROOT}/lib/xref.h: xref.h
95 cp -f xref.h ${ROOT}/lib
96
97${ROOT}/lib/sparcv9:
98 if [ ! -x $@ ]; then ${MKDIR} $@; fi
99
100sparc:
101 if [ ! -x $@ ]; then ${MKDIR} $@; fi
102
103sparcv9:
104 if [ ! -x $@ ]; then ${MKDIR} $@; fi
105
106${CFILES}: ${HDRS}
107
108sparcv9/%.o: %.c
109 $(CC64) $(CFLAGS64) $(CFLAGS) -c $< -o $@
110
111sparc/%.o: %.c
112 $(CC32) $(CFLAGS32) $(CFLAGS) -c $< -o $@
113
114
115sparcv9/${TARGET}: $(OBJS_sparcv9)
116 $(AR) -r $@ $(OBJS_sparcv9) ${LDFLAGS}
117
118sparc/${TARGET}: $(OBJS_sparc)
119 $(AR) -r $@ $(OBJS_sparc) ${LDFLAGS}
120
121clean:
122 -@rm -f *% *.ln *.BAK $(OBJS_sparc) $(OBJS_sparcv9)
123 -@rm -f sparc/${TARGET} sparcv9/${TARGET}
124 -@rm -f ${ROOT}/lib/sparcv9/libxref.a ${ROOT}/lib/libxref.a