1 # LLVM LOCAL file build machinery
2 # LLVM Compiler Makefile for use by buildit.
4 # This makefile is intended only for use with B&I buildit. For "normal" builds
5 # use the conventional top-level makefile.
7 # You can specify TARGETS=ppc (or i386) on the buildit command line to limit the
8 # build to just one target. The default is for ppc and i386. The compiler
9 # targetted at this host gets built anyway, but not installed unless it's listed
12 # Include the set of standard Apple makefile definitions.
13 ifndef CoreOSMakefiles
14 CoreOSMakefiles
= $(MAKEFILEPATH
)/CoreOS
16 include $(CoreOSMakefiles
)/Standard
/Standard.make
18 # Enable Apple extensions to (gnu)make.
19 USE_APPLE_PB_SUPPORT
= all
23 targets
= echo
$(RC_ARCHS
)
24 TARGETS
:= $(shell $(targets
))
28 SRC
= $(shell cd
$(SRCROOT
) && pwd | sed s
,/private
,,)
30 SYMROOT
= $(OBJROOT
)/..
/sym
31 DSTROOT
= $(OBJROOT
)/..
/dst
33 #######################################################################
35 PREFIX
= /Developer
/usr
/local
37 # Unless assertions are forced on in the GMAKE command line, disable them.
38 ifndef ENABLE_ASSERTIONS
39 ENABLE_ASSERTIONS
:= no
42 # Default is optimized build.
43 ifeq ($(LLVM_DEBUG
),1)
49 # Default to not install libLTO.dylib.
52 # Default to do a native build, not a cross-build for an ARM host or simulator.
53 ARM_HOSTED_BUILD
:= no
56 ifndef RC_ProjectSourceVersion
57 RC_ProjectSourceVersion
= 9999
60 ifndef RC_ProjectSourceSubversion
61 RC_ProjectSourceSubversion
= 0
64 # NOTE : Always put version numbers at the end because they are optional.
65 install: $(OBJROOT
) $(SYMROOT
) $(DSTROOT
)
67 $(SRC
)/utils
/buildit
/build_llvm
"$(RC_ARCHS)" "$(TARGETS)" \
68 $(SRC
) $(PREFIX
) $(DSTROOT
) $(SYMROOT
) \
69 $(ENABLE_ASSERTIONS
) $(LLVM_OPTIMIZED
) $(INSTALL_LIBLTO
) \
70 $(ARM_HOSTED_BUILD
) $(IOS_SIM_BUILD
) \
71 $(RC_ProjectSourceVersion
) $(RC_ProjectSourceSubversion
)
74 $(MAKE
) ARM_HOSTED_BUILD
=yes PREFIX
=/usr
/local
install
76 # When building for the iOS simulator, MACOSX_DEPLOYMENT_TARGET is not set
77 # by default, but it needs to be set when building tools that run on the host
78 # (e.g., tblgen), so set it here.
80 export MACOSX_DEPLOYMENT_TARGET
=`sw_vers -productVersion`; \
81 $(MAKE
) IOS_SIM_BUILD
=yes PREFIX
=$(SDKROOT
)/usr
/local
install
83 # installhdrs does nothing, because the headers aren't useful until
84 # the compiler is installed.
87 # We build and install in one shell script.
92 @echo
++++++++++++++++++++++
93 @echo
+ Installing sources
+
94 @echo
++++++++++++++++++++++
96 if
[ $(SRCROOT
) != .
]; then \
97 $(PAX
) -rw .
$(SRCROOT
); \
99 find
-d
"$(SRCROOT)" \
( -type d
-a
-name .svn
-o \
100 -type f
-a
-name .DS_Store
-o \
101 -name \
*~
-o
-name .\
#\* \) \
103 rm -rf
"$(SRCROOT)/test"
105 #######################################################################
113 @if
[ -d
$(OBJROOT
) -a
"$(OBJROOT)" != / ]; then \
114 echo
'*** DELETING ' $(OBJROOT
); \
117 @if
[ -d
$(SYMROOT
) -a
"$(SYMROOT)" != / ]; then \
118 echo
'*** DELETING ' $(SYMROOT
); \
121 @if
[ -d
$(DSTROOT
) -a
"$(DSTROOT)" != / ]; then \
122 echo
'*** DELETING ' $(DSTROOT
); \
126 #######################################################################
128 $(OBJROOT
) $(SYMROOT
) $(DSTROOT
):
131 .PHONY
: install installsrc
clean EmbeddedHosted EmbeddedSim