Commit | Line | Data |
---|---|---|
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 04/08/17 | |
43 | # copyright: Copyright 2004 Sun Microsystems, Inc. All Rights Reserved | |
44 | # copyright: Use is subject to license terms. | |
45 | # | |
46 | ||
47 | ROOT = ../.. | |
48 | INSTALLDIR = ${ROOT}/lib | |
49 | TARGET = libdropin.a | |
50 | TARGETDIR = ${INSTALLDIR}/ | |
51 | DROPIN = ${ROOT}/tools/dropin | |
52 | ||
53 | LIBRARY_sparc = $(ROOT)/lib/libdropin.a | |
54 | LIBRARY_sparcv9 = $(ROOT)/lib/sparcv9/libdropin.a | |
55 | ||
56 | CFILES = finddropin.c | |
57 | ||
58 | include ${ROOT}/default.mk | |
59 | ||
60 | MKDIR = mkdir -p | |
61 | ||
62 | CC32 = ${SPRO_PATH}/cc | |
63 | LD32 = /usr/ccs/bin/ld | |
64 | CFLAGS32 = -v | |
65 | ||
66 | CC64 = ${SPRO_PATH}/cc | |
67 | LD64 = /usr/ccs/bin/ld | |
68 | CFLAGS64 = -xarch=v9 | |
69 | ||
70 | INC = -I ${ROOT}/include | |
71 | CFLAGS = -g ${INC} | |
72 | ||
73 | ||
74 | COBJS = $(CFILES:%.c=%.o) | |
75 | OBJS_sparcv9 = $(COBJS:%=sparcv9/%) | |
76 | OBJS_sparc = $(COBJS:%=sparc/%) | |
77 | OBJS = $(OBJS_sparc) $(OBJS_sparcv9) | |
78 | TARGET32:sh = echo "sparc \${TARGETDIR}\${TARGET} " | |
79 | TARGET64:sh = if [ -x /usr/bin/isalist ]; \ | |
80 | then if [ ! -z "`/usr/bin/isalist | grep v9`" ]; \ | |
81 | then echo "sparcv9 \${TARGETDIR}sparcv9/\${TARGET}"; fi; fi; | |
82 | TARGETS = ${TARGET32} ${TARGET64} | |
83 | ||
84 | ||
85 | ||
86 | all:: ${TARGETS} | |
87 | ||
88 | ${ROOT}/include/sys: | |
89 | ${MKDIR} ${ROOT}/include/sys | |
90 | ||
91 | ${ROOT}/include/sys/dropins.h: ${ROOT}/include/sys | |
92 | ${ROOT}/include/sys/dropins.h: ${DROPIN}/include/sys/dropins.h | |
93 | cp -f ${DROPIN}/include/sys/dropins.h ${ROOT}/include/sys/dropins.h | |
94 | ||
95 | ${ROOT}/include/sys/dilib.h: ${ROOT}/include/sys ${DROPIN}/include/sys/dilib.h | |
96 | cp -f ${DROPIN}/include/sys/dilib.h ${ROOT}/include/sys/dilib.h | |
97 | ||
98 | sparc: | |
99 | if [ ! -x $@ ]; then ${MKDIR} $@; fi | |
100 | ||
101 | sparcv9: | |
102 | if [ ! -x $@ ]; then ${MKDIR} $@; fi | |
103 | ||
104 | sparcv9/%.o: %.c | |
105 | $(CC64) $(CFLAGS64) $(CFLAGS) -c $< -o $@ | |
106 | ||
107 | sparc/%.o: %.c | |
108 | $(CC32) $(CFLAGS32) $(CFLAGS) -c $< -o $@ | |
109 | ||
110 | LDFLAGS += -r -z nodlopen | |
111 | ||
112 | COMPOBJS = comp.o decomp.o | |
113 | COMPOBJS_sparcv9 = $(COMPOBJS:%=sparcv9/%) | |
114 | COMPOBJS_sparc = $(COMPOBJS:%=sparc/%) | |
115 | OBJS += $(COMPOBJS_sparc) $(COMPOBJS_sparcv9) | |
116 | ||
117 | COMPFLAGS = ${CFLAGS} -DNOMAIN -DSTANDALONE -Dcomp=di_comp | |
118 | DECOMPFLAGS = ${CFLAGS} -DNOMAIN -DSTANDALONE -DDROPIN_LIB \ | |
119 | -Ddecomp=di_decomp | |
120 | ||
121 | HDRS = ${ROOT}/include/sys/dilib.h ${ROOT}/include/sys/dropins.h | |
122 | ||
123 | ${OBJS}: ${HDRS} | |
124 | all:: ${OBJS} | |
125 | # ${TARGETDIR}${TARGET}: $(COMPOBJS_sparc) | |
126 | # ${TARGETDIR}sparcv9/${TARGET}: $(COMPOBJS_sparv9) | |
127 | ||
128 | sparcv9/comp.o: ${ROOT}/tools/comp.c | |
129 | ${CC64} -c $(CFLAGS64) ${COMPFLAGS} -o $@ ${ROOT}/tools/comp.c | |
130 | ||
131 | sparc/comp.o: ${ROOT}/tools/comp.c | |
132 | ${CC32} -c $(CFLAGS32) ${COMPFLAGS} -o $@ ${ROOT}/tools/comp.c | |
133 | ||
134 | sparcv9/decomp.o: ${ROOT}/tools/decomp.c | |
135 | ${CC64} -c $(CFLAGS64) ${DECOMPFLAGS} -o $@ ${ROOT}/tools/decomp.c | |
136 | ||
137 | sparc/decomp.o: ${ROOT}/tools/decomp.c | |
138 | ${CC32} -c $(CFLAGS32) ${DECOMPFLAGS} -o $@ ${ROOT}/tools/decomp.c | |
139 | ||
140 | ${TARGETDIR}sparcv9: | |
141 | ${MKDIR} ${TARGETDIR}sparcv9 | |
142 | ||
143 | ${TARGETDIR}sparcv9/${TARGET}: $(OBJS_sparcv9) ${COMPOBJS_sparcv9} \ | |
144 | ${TARGETDIR}sparcv9 | |
145 | $(LD64) -o $@ $(OBJS_sparcv9) ${COMPOBJS_sparcv9} ${LDFLAGS} | |
146 | ||
147 | ${TARGETDIR}${TARGET}: $(OBJS_sparc) ${COMPOBJS_sparc} | |
148 | $(LD32) -o $@ $(OBJS_sparc) $(COMPOBJS_sparc) ${LDFLAGS} | |
149 | ||
150 | clean: | |
151 | ${RM} ${OBJS} ${LIBRARY_sparc} ${LIBRARY_sparcv9} ${HDRS} | |
152 | ||
153 | clobber: | |
154 | ${SCCS} clean | |
155 | ||
156 | FORCE: |