1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
############################################################################
# Makefile for image tools
# works on X86 Linux hosts.
# Make targets:
# all :
#
# utilities : Build utility programs and procedures
#
# clean : Removes the bin/ directory and all symbolic links
#
############################################################################
ifeq ($(CTEPATH),)
$(warning CTEPATH not defined; defaulting to awd)
CTEPATH = /afs/awd/projects/cte
endif
P9_XIP_SRCDIR = $(abspath ../../import/chips/p9/xip)
P9_XIP_BINDIR = $(P9_XIP_SRCDIR)/bin
# Locations of required headers.
INCLUDES += -I. -I../../ -I../../utils
INCLUDES += -I ../../sbe/image/
INCLUDES += -I ../../sbe/sbefw/
INCLUDES += -I ../../sbe/hwpf/include/plat
INCLUDES += -I ../../sbe/hwpf/include
INCLUDES += -I ../../hwpf/include/plat
INCLUDES += -I ../../hwpf/include/
INCLUDES += -I ../../pk/ppe42/
INCLUDES += -I ../../pk/kernel/
INCLUDES += -I ../../pk/std/
INCLUDES += -I ../../pk/trace/
INCLUDES += -I ../../tools/ppetracepp/
INCLUDES += -I ../../import/hwpf/fapi2/include/
INCLUDES += -I ../../import/chips/p9/xip/
# Under Linux the scheme is to use a common compiler to create procedures.
# However, the common compiler can be VERY slow, so if the system compiler is
# also 4.1.2 we're using that one instead. Also, the Linux FAPI libraries we
# link with are 32-bit only so we need to force 32-bit mode.
ifeq ($(wildcard /etc/ldap.conf), )
GSACELL = ausgsa
else
GSACELL = $(shell cat /etc/ldap.conf | grep "host " | \
cut -d" " -f2 | cut -d. -f1)
endif
GCC-RELEASE = 4.8.2
GCC-VERSION = $(shell gcc -v 2>&1 | grep "$(GCC-RELEASE)")
ifeq ($(GCC-VERSION),)
$(error wrong compiler version. Use $(GCC-RELEASE) compiler. Try: "scl enable devtoolset-2 bash")
else
CC = gcc
CXX = g++
endif
UTILITIES-SOURCES = sbe_default_tool.c
UTILITIES = sbe_default_tool
# Utility targets
UTILITIES-OBJc = $(patsubst %.c,bin/%.o,$(UTILITIES-SOURCES))
UTILITIES-OBJECTS += $(patsubst %.C,bin/%.o,$(UTILITIES-OBJc))
UTILITIES-DEPENDENCIES = $(patsubst %.o,%.d,$(UTILITIES-OBJECTS))
UTILITIES-EXECUTABLES = $(patsubst %,bin/%,$(UTILITIES))
.PHONY : utilities buildBinDir
utilities: buildBinDir $(UTILITIES-EXECUTABLES)
buildBinDir:
mkdir -p bin
# Build the P9-XIP image code
$(P9_XIP_BINDIR)/p9_xip_image.o:
$(MAKE) -I $(P9_XIP_SRCDIR) -C $(P9_XIP_SRCDIR) -f Makefile
bin/%.o: %.c
$(CXX) -std=c++11 $(INCLUDES) $(CXXFLAGS) -DDEBUG_SBE_XIP_IMAGE=1 -DFAPI2_NO_FFDC -c -o $@ $<
bin/sbe_default_tool: $(P9_XIP_BINDIR)/p9_xip_image.o bin/sbe_default_tool.o
$(CXX) $(CXXFLAGS) ${INCLUDES} -o $@ $^
ln -sf bin/sbe_default_tool sbe_default_tool
clean:
rm -f sbe_default_tool
rm -rf bin
mkdir -p bin
|