Lines Matching +full:llvm +full:- +full:builddir
1 #----------------------------------------------------------------------
3 #----------------------------------------------------------------------
17 # controls the (platform-dependent) name of the produced dylib. E.g.,
23 # Specifying FRAMEWORK and its variants has the effect of building a NeXT-style
38 # SHELL = /bin/sh -x
40 # Suppress built-in suffix rules. We explicitly define rules for %.o.
44 BUILDDIR := $(shell pwd)
56 #----------------------------------------------------------------------
62 # Also reset BUILDDIR value because "pwd" returns cygwin or msys path
64 #----------------------------------------------------------------------
69 BUILDDIR := $(shell echo %cd%)
72 #----------------------------------------------------------------------
73 # If the OS is Windows use double-quotes in commands
75 # For other operating systems, single-quotes work fine, but on Windows
76 # we strictly required double-quotes
77 #----------------------------------------------------------------------
86 #----------------------------------------------------------------------
89 #----------------------------------------------------------------------
95 #----------------------------------------------------------------------
97 #----------------------------------------------------------------------
106 #----------------------------------------------------------------------
111 # value of the make variable CC -- getCompiler().
112 #----------------------------------------------------------------------
114 $(error "C compiler is not specified. Please run tests through lldb-dotest or lit")
128 #----------------------------------------------------------------------
130 #----------------------------------------------------------------------
135 SDKROOT := $(shell xcrun --sdk macosx --show-sdk-path)
137 SYSROOT_FLAGS := -isysroot "$(SDKROOT)"
141 SYSROOT_FLAGS := --sysroot "$(SDKROOT)"
142 GCC_TOOLCHAIN_FLAGS := --gcc-toolchain="$(SDKROOT)/usr"
151 #----------------------------------------------------------------------
154 #----------------------------------------------------------------------
155 ARCHFLAG ?= -arch
157 #----------------------------------------------------------------------
159 #----------------------------------------------------------------------
164 ARFLAGS := -static -o
166 # On non-Apple platforms, -arch becomes -m
167 ARCHFLAG := -m
169 # i386, i686, x86 -> 32
170 # amd64, x86_64, x64 -> 64
211 override ARCHFLAG := -
233 LIMIT_DEBUG_INFO_FLAGS += -flimit-debug-info
234 NO_LIMIT_DEBUG_INFO_FLAGS += -fno-limit-debug-info
235 MODULE_DEBUG_INFO_FLAGS += -gmodules
238 # If the OS is Windows, we need to pass -gdwarf to clang, otherwise it will build
241 DEBUG_INFO_FLAG ?= -gdwarf
244 DEBUG_INFO_FLAG ?= -g
246 CFLAGS ?= $(DEBUG_INFO_FLAG) -O0
255 CFLAGS += -I$(LLDB_BASE_DIR)/include -I$(LLDB_OBJ_ROOT)/include
256 CFLAGS += -I$(SRCDIR) -I$(THIS_FILE_DIR)
259 CFLAGS += -include $(THIS_FILE_DIR)/test_common.h
266 CFLAGS_NO_DEBUG = -O0 $(ARCHFLAG) $(ARCH) $(FRAMEWORK_INCLUDES) $(ARCH_CFLAGS) $(CFLAGS_EXTRAS) $(SYSROOT_FLAGS)
268 CFLAGS_NO_DEBUG = -O0 $(ARCHFLAG)$(ARCH) $(FRAMEWORK_INCLUDES) $(ARCH_CFLAGS) $(CFLAGS_EXTRAS) $(SYSROOT_FLAGS)
272 CFLAGS += -gsplit-dwarf
276 THE_CLANG_MODULE_CACHE_DIR := $(BUILDDIR)/private-module-cache
281 MODULE_BASE_FLAGS := -fmodules -gmodules -fmodules-cache-path=$(THE_CLANG_MODULE_CACHE_DIR)
282 MANDATORY_MODULE_BUILD_CFLAGS := $(MODULE_BASE_FLAGS) -gmodules
284 # -glldb is necessary for emitting information about what modules were imported.
285 MANDATORY_CXXMODULE_BUILD_CFLAGS := $(MODULE_BASE_FLAGS) -fcxx-modules -glldb
288 MANDATORY_MODULE_BUILD_CFLAGS += -fcxx-modules
297 CXXFLAGS += -std=c++11 $(CFLAGS) $(ARCH_CXXFLAGS)
299 # Note: we get some 'garbage' options for linker here (such as -I, --isystem & etc).
304 LDFLAGS += -pthread
331 LDFLAGS += -pie
334 #----------------------------------------------------------------------
336 #----------------------------------------------------------------------
340 CXXFLAGS += -fno-exceptions
341 CXXFLAGS += -D_HAS_EXCEPTIONS=0
345 CXXFLAGS += -fms-compatibility-version=19.0
346 CXXFLAGS += -std=c++14
350 LDFLAGS += -fuse-ld=lld
354 #----------------------------------------------------------------------
356 #----------------------------------------------------------------------
371 CXXFLAGS += -nostdlib++ -nostdinc++ -cxx-isystem $(LIBCPP_INCLUDE_DIR)
373 CXXFLAGS += -cxx-isystem $(LIBCPP_INCLUDE_TARGET_DIR)
375 LDFLAGS += -L$(LIBCPP_LIBRARY_DIR) -Wl,-rpath,$(LIBCPP_LIBRARY_DIR) -lc++
382 # Clang requires an extra flag: -stdlib=libstdc++
385 CXXFLAGS += -stdlib=libstdc++ $(GCC_TOOLCHAIN_FLAGS)
386 LDFLAGS += -stdlib=libstdc++ $(GCC_TOOLCHAIN_FLAGS)
392 CXXFLAGS += -nostdlib++ -nostdinc++ -cxx-isystem $(LIBCPP_INCLUDE_DIR)
394 CXXFLAGS += -cxx-isystem $(LIBCPP_INCLUDE_TARGET_DIR)
396 LDFLAGS += -L$(LIBCPP_LIBRARY_DIR) -Wl,-rpath,$(LIBCPP_LIBRARY_DIR) -lc++
402 CXXFLAGS += -stdlib=libc++
403 LDFLAGS += -stdlib=libc++
407 LDFLAGS += -Wl,-rpath,$(LLVM_LIBS_DIR)
418 CXXFLAGS += -nostdlib++ -nostdinc++ -cxx-isystem $(SDKROOT)/usr/include/c++/v1
419 LDFLAGS += -L$(SDKROOT)/usr/lib -Wl,-rpath,$(SDKROOT)/usr/lib -lc++
429 #----------------------------------------------------------------------
431 #----------------------------------------------------------------------
434 LDFLAGS += -ldl
440 #----------------------------------------------------------------------
442 #----------------------------------------------------------------------
450 #----------------------------------------------------------------------
452 #----------------------------------------------------------------------
455 PCHFLAGS = -include $(PCH_CXX_SOURCE)
458 #----------------------------------------------------------------------
460 #----------------------------------------------------------------------
465 #----------------------------------------------------------------------
467 #----------------------------------------------------------------------
472 #----------------------------------------------------------------------
474 #----------------------------------------------------------------------
477 LDFLAGS +=-lobjc
480 #----------------------------------------------------------------------
482 #----------------------------------------------------------------------
486 LDFLAGS +=-lobjc
491 CXXFLAGS += --driver-mode=g++
497 LDFLAGS += --driver-mode=g++
502 LDFLAGS += -Wl,--build-id
505 #----------------------------------------------------------------------
509 #----------------------------------------------------------------------
511 #----------------------------------------------------------------------
513 #----------------------------------------------------------------------
517 $(LD) $(OBJECTS) -L. -l$(DYLIB_NAME) $(LDFLAGS) -o "$(EXE)"
519 $(CODESIGN) -s - "$(EXE)"
526 $(LD) $(OBJECTS) $(LDFLAGS) -o "$(EXE)"
528 $(CODESIGN) -s - "$(EXE)"
532 #----------------------------------------------------------------------
534 #----------------------------------------------------------------------
538 "$(DS)" $(DSFLAGS) -o "$(DSYM)" "$(EXE)"
546 $(OBJCOPY) --only-keep-debug "$(EXE)" "$(DSYM)"
547 $(OBJCOPY) --strip-debug --add-gnu-debuglink="$(DSYM)" "$(EXE)" "$(EXE)"
550 $(DWP) -o "$(DWP_NAME)" $(DWOS)
555 #----------------------------------------------------------------------
557 #----------------------------------------------------------------------
558 $(DYLIB_OBJECTS) : CFLAGS += -DCOMPILING_LLDB_TEST_DLL
561 $(DYLIB_OBJECTS) : CFLAGS += -fPIC
562 $(DYLIB_OBJECTS) : CXXFLAGS += -fPIC
568 mkdir -p $(FRAMEWORK).framework/Versions/A/Headers
569 mkdir -p $(FRAMEWORK).framework/Versions/A/Modules
570 mkdir -p $(FRAMEWORK).framework/Versions/A/Resources
572 cp -r $(FRAMEWORK_MODULES) $(FRAMEWORK).framework/Versions/A/Modules
575 cp -r $(FRAMEWORK_HEADERS) $(FRAMEWORK).framework/Versions/A/Headers
577 (cd $(FRAMEWORK).framework/Versions; ln -sf A Current)
578 (cd $(FRAMEWORK).framework/; ln -sf Versions/A/Headers Headers)
579 (cd $(FRAMEWORK).framework/; ln -sf Versions/A/Modules Modules)
580 (cd $(FRAMEWORK).framework/; ln -sf Versions/A/Resources Resources)
581 (cd $(FRAMEWORK).framework/; ln -sf Versions/A/$(FRAMEWORK) $(FRAMEWORK))
583 $(LD) $(DYLIB_OBJECTS) $(LDFLAGS) -install_name "$(DYLIB_INSTALL_NAME)" -dynamiclib -o "$(DYLIB_FILENAME)"
585 $(CODESIGN) -s - "$(DYLIB_FILENAME)"
593 $(LD) $(DYLIB_OBJECTS) $(LDFLAGS) -shared -o "$(DYLIB_FILENAME)"
598 $(OBJCOPY) --only-keep-debug "$(DYLIB_FILENAME)" "$(DYLIB_FILENAME).debug"
599 $(OBJCOPY) --strip-debug --add-gnu-debuglink="$(DYLIB_FILENAME).debug" "$(DYLIB_FILENAME)" "$(DYLIB_FILENAME)"
602 $(DWP) -o $(DYLIB_DWP_FILE) $(DYLIB_DWOS)
606 #----------------------------------------------------------------------
608 #----------------------------------------------------------------------
612 $(CXX) $(CXXFLAGS) -x c++-header -o $@ $<
616 $(CC) $(CFLAGS) -MT $@ -MD -MP -MF $*.d -c -o $@ $<
619 $(CXX) $(PCHFLAGS) $(CXXFLAGS) -MT $@ -MD -MP -MF $*.d -c -o $@ $<
622 $(CC) $(CFLAGS) -MT $@ -MD -MP -MF $*.d -c -o $@ $<
625 $(CXX) $(CXXFLAGS) -MT $@ -MD -MP -MF $*.d -c -o $@ $<
627 #----------------------------------------------------------------------
632 #----------------------------------------------------------------------
643 #----------------------------------------------------------------------
646 #----------------------------------------------------------------------
653 ifeq "$(findstring lldb-test-build.noindex, $(BUILDDIR))" ""
656 $(RM) -r $(wildcard $(BUILDDIR)/*)
659 #----------------------------------------------------------------------
660 # From http://blog.melski.net/tag/debugging-makefiles/
662 # Usage: make print-CC print-CXX print-LD
663 #----------------------------------------------------------------------
664 print-%: