| OLD | NEW |
| 1 # The following variables will likely need to be modified, depending on where | 1 # The following variables will likely need to be modified, depending on where |
| 2 # and how you built LLVM & Clang. They can be overridden in a command-line | 2 # and how you built LLVM & Clang. They can be overridden in a command-line |
| 3 # invocation of make, like: | 3 # invocation of make, like: |
| 4 # | 4 # |
| 5 # make LLVM_SRC_PATH=<path> LIBCXX_INSTALL_PATH=<path> CLANG_PATH=<path> \ | 5 # make LLVM_SRC_PATH=<path> LIBCXX_INSTALL_PATH=<path> CLANG_PATH=<path> \ |
| 6 # PNACL_BIN_PATH=<path> ... | 6 # PNACL_BIN_PATH=<path> ... |
| 7 # | 7 # |
| 8 | 8 |
| 9 # LLVM_SRC_PATH is the path to the root of the checked out source code. This | 9 # LLVM_SRC_PATH is the path to the root of the checked out source code. This |
| 10 # directory should contain the configure script, the include/ and lib/ | 10 # directory should contain the configure script, the include/ and lib/ |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 ifdef MINIMAL | 85 ifdef MINIMAL |
| 86 NOASSERT = 1 | 86 NOASSERT = 1 |
| 87 OBJDIR := $(OBJDIR)+Min | 87 OBJDIR := $(OBJDIR)+Min |
| 88 BASE_CXX_DEFINES += -DALLOW_DUMP=0 -DALLOW_LLVM_CL=0 -DALLOW_LLVM_IR=0 \ | 88 BASE_CXX_DEFINES += -DALLOW_DUMP=0 -DALLOW_LLVM_CL=0 -DALLOW_LLVM_IR=0 \ |
| 89 -DALLOW_LLVM_IR_AS_INPUT=0 -DALLOW_MINIMAL_BUILD=1 | 89 -DALLOW_LLVM_IR_AS_INPUT=0 -DALLOW_MINIMAL_BUILD=1 |
| 90 else | 90 else |
| 91 BASE_CXX_DEFINES += -DALLOW_DUMP=1 -DALLOW_LLVM_CL=1 -DALLOW_LLVM_IR=1 \ | 91 BASE_CXX_DEFINES += -DALLOW_DUMP=1 -DALLOW_LLVM_CL=1 -DALLOW_LLVM_IR=1 \ |
| 92 -DALLOW_LLVM_IR_AS_INPUT=1 -DALLOW_MINIMAL_BUILD=0 | 92 -DALLOW_LLVM_IR_AS_INPUT=1 -DALLOW_MINIMAL_BUILD=0 |
| 93 endif | 93 endif |
| 94 | 94 |
| 95 # TODO(stichnot): Also work up a -DPNACL_BROWSER_TRANSLATOR=1 version of a | |
| 96 # sandboxed translator. | |
| 97 SB_CXX_DEFINES := $(BASE_CXX_DEFINES) -DPNACL_BROWSER_TRANSLATOR=0 | |
| 98 CXX_DEFINES := $(BASE_CXX_DEFINES) -DPNACL_BROWSER_TRANSLATOR=0 | 95 CXX_DEFINES := $(BASE_CXX_DEFINES) -DPNACL_BROWSER_TRANSLATOR=0 |
| 99 | 96 |
| 100 ifdef NOASSERT | 97 ifdef NOASSERT |
| 101 ASSERTIONS = -DNDEBUG | 98 ASSERTIONS = -DNDEBUG |
| 102 else | 99 else |
| 103 ASSERTIONS = | 100 ASSERTIONS = |
| 104 OBJDIR := $(OBJDIR)+Asserts | 101 OBJDIR := $(OBJDIR)+Asserts |
| 105 endif | 102 endif |
| 106 | 103 |
| 107 ifdef UBSAN | 104 ifdef UBSAN |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 # TODO(jpp): fix this. | 146 # TODO(jpp): fix this. |
| 150 FORCEASM_LIT_TEST_EXCLUDES = --filter='^(?!.*/x86/sandboxing.ll).*' | 147 FORCEASM_LIT_TEST_EXCLUDES = --filter='^(?!.*/x86/sandboxing.ll).*' |
| 151 else | 148 else |
| 152 FORCEASM_FLAG = | 149 FORCEASM_FLAG = |
| 153 FORCEASM_XTEST_EXCLUDES = | 150 FORCEASM_XTEST_EXCLUDES = |
| 154 FORCEASM_LIT_PARAM = | 151 FORCEASM_LIT_PARAM = |
| 155 FORCEASM_LIT_TEST_EXCLUDES = | 152 FORCEASM_LIT_TEST_EXCLUDES = |
| 156 endif | 153 endif |
| 157 | 154 |
| 158 SB_OBJDIR := $(OBJDIR)+Sandboxed | 155 SB_OBJDIR := $(OBJDIR)+Sandboxed |
| 156 SBB_OBJDIR := $(OBJDIR)+SandboxedBrowser |
| 159 | 157 |
| 160 $(info -----------------------------------------------) | 158 $(info -----------------------------------------------) |
| 161 $(info Using LLVM_SRC_PATH = $(LLVM_SRC_PATH)) | 159 $(info Using LLVM_SRC_PATH = $(LLVM_SRC_PATH)) |
| 162 $(info Using SB_LLVM_PATH = $(SB_LLVM_PATH)) | 160 $(info Using SB_LLVM_PATH = $(SB_LLVM_PATH)) |
| 163 $(info Using NACL_ROOT = $(NACL_ROOT)) | 161 $(info Using NACL_ROOT = $(NACL_ROOT)) |
| 164 $(info Using TOOLCHAIN_ROOT = $(TOOLCHAIN_ROOT)) | 162 $(info Using TOOLCHAIN_ROOT = $(TOOLCHAIN_ROOT)) |
| 165 $(info Using PNACL_TOOLCHAIN_ROOT = $(PNACL_TOOLCHAIN_ROOT)) | 163 $(info Using PNACL_TOOLCHAIN_ROOT = $(PNACL_TOOLCHAIN_ROOT)) |
| 166 $(info Using PNACL_BIN_PATH = $(PNACL_BIN_PATH)) | 164 $(info Using PNACL_BIN_PATH = $(PNACL_BIN_PATH)) |
| 167 $(info Using CLANG_PATH = $(CLANG_PATH)) | 165 $(info Using CLANG_PATH = $(CLANG_PATH)) |
| 168 $(info Using LIBCXX_INSTALL_PATH = $(LIBCXX_INSTALL_PATH)) | 166 $(info Using LIBCXX_INSTALL_PATH = $(LIBCXX_INSTALL_PATH)) |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 -Wwrite-strings | 226 -Wwrite-strings |
| 229 OBJDIR := $(OBJDIR)+Gplusplus | 227 OBJDIR := $(OBJDIR)+Gplusplus |
| 230 endif | 228 endif |
| 231 | 229 |
| 232 BASE_CXXFLAGS := -std=gnu++11 -Wall -Wextra -Werror -fno-rtti \ | 230 BASE_CXXFLAGS := -std=gnu++11 -Wall -Wextra -Werror -fno-rtti \ |
| 233 -fno-exceptions $(OPTLEVEL) $(ASSERTIONS) -g -pedantic \ | 231 -fno-exceptions $(OPTLEVEL) $(ASSERTIONS) -g -pedantic \ |
| 234 $(LLVM_EXTRA_WARNINGS) $(CXX_EXTRA) | 232 $(LLVM_EXTRA_WARNINGS) $(CXX_EXTRA) |
| 235 | 233 |
| 236 CXXFLAGS := $(LLVM_CXXFLAGS) $(BASE_CXXFLAGS) $(CXX_DEFINES) $(HOST_FLAGS) \ | 234 CXXFLAGS := $(LLVM_CXXFLAGS) $(BASE_CXXFLAGS) $(CXX_DEFINES) $(HOST_FLAGS) \ |
| 237 $(STDLIB_FLAGS) | 235 $(STDLIB_FLAGS) |
| 238 SB_CXXFLAGS := $(SB_LLVM_CXXFLAGS) $(BASE_CXXFLAGS) $(SB_CXX_DEFINES) \ | 236 SB_CXXFLAGS := $(SB_LLVM_CXXFLAGS) $(BASE_CXXFLAGS) $(BASE_CXX_DEFINES) \ |
| 239 -Wno-unknown-pragmas -I$(NACL_ROOT) | 237 -Wno-unknown-pragmas -I$(NACL_ROOT) -I$(NACL_ROOT)/.. |
| 240 | 238 |
| 241 LDFLAGS := $(HOST_FLAGS) -L$(LIBCXX_INSTALL_PATH)/lib -Wl,--gc-sections \ | 239 LDFLAGS := $(HOST_FLAGS) -L$(LIBCXX_INSTALL_PATH)/lib -Wl,--gc-sections \ |
| 242 $(LD_EXTRA) $(STDLIB_FLAGS) | 240 $(LD_EXTRA) $(STDLIB_FLAGS) |
| 243 # Not specifying -Wl,--gc-sections but instead doing bitcode linking GC w/ LTO. | 241 # Not specifying -Wl,--gc-sections but instead doing bitcode linking GC w/ LTO. |
| 244 SB_LDFLAGS := $(LINKOPTLEVEL) $(LD_EXTRA) | 242 SB_LDFLAGS := $(LINKOPTLEVEL) $(LD_EXTRA) |
| 245 | 243 |
| 246 # List the target-specific source files first, which generally take longer to | 244 # List the target-specific source files first, which generally take longer to |
| 247 # compile, in the hope of improving parallel build time. | 245 # compile, in the hope of improving parallel build time. |
| 248 SRCS = \ | 246 SRCS = \ |
| 249 IceAssemblerARM32.cpp \ | 247 IceAssemblerARM32.cpp \ |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 286 PNaClTranslator.cpp | 284 PNaClTranslator.cpp |
| 287 | 285 |
| 288 ifndef MINIMAL | 286 ifndef MINIMAL |
| 289 SRCS += \ | 287 SRCS += \ |
| 290 IceConverter.cpp \ | 288 IceConverter.cpp \ |
| 291 IceTypeConverter.cpp | 289 IceTypeConverter.cpp |
| 292 endif | 290 endif |
| 293 | 291 |
| 294 OBJS=$(patsubst %.cpp, $(OBJDIR)/%.o, $(SRCS)) | 292 OBJS=$(patsubst %.cpp, $(OBJDIR)/%.o, $(SRCS)) |
| 295 SB_OBJS=$(patsubst %.cpp, $(SB_OBJDIR)/%.o, $(SRCS)) | 293 SB_OBJS=$(patsubst %.cpp, $(SB_OBJDIR)/%.o, $(SRCS)) |
| 294 SBB_OBJS=$(patsubst %.cpp, $(SBB_OBJDIR)/%.o, $(SRCS)) |
| 296 | 295 |
| 297 UNITTEST_SRCS = \ | 296 UNITTEST_SRCS = \ |
| 298 BitcodeMunge.cpp \ | 297 BitcodeMunge.cpp \ |
| 299 IceELFSectionTest.cpp \ | 298 IceELFSectionTest.cpp \ |
| 300 IceParseInstsTest.cpp | 299 IceParseInstsTest.cpp |
| 301 | 300 |
| 302 # The X86 assembler tests take too long to compile. Given how infrequently the | 301 # The X86 assembler tests take too long to compile. Given how infrequently the |
| 303 # assembler will change, we disable them. | 302 # assembler will change, we disable them. |
| 304 ifdef CHECK_X86_ASM | 303 ifdef CHECK_X86_ASM |
| 305 ifndef DEBUG | 304 ifndef DEBUG |
| (...skipping 12 matching lines...) Expand all Loading... |
| 318 AssemblerX8664/Locked.cpp \ | 317 AssemblerX8664/Locked.cpp \ |
| 319 AssemblerX8664/GPRArith.cpp \ | 318 AssemblerX8664/GPRArith.cpp \ |
| 320 AssemblerX8664/XmmArith.cpp \ | 319 AssemblerX8664/XmmArith.cpp \ |
| 321 AssemblerX8664/ControlFlow.cpp \ | 320 AssemblerX8664/ControlFlow.cpp \ |
| 322 AssemblerX8664/Other.cpp | 321 AssemblerX8664/Other.cpp |
| 323 endif | 322 endif |
| 324 | 323 |
| 325 UNITTEST_OBJS = $(patsubst %.cpp, $(OBJDIR)/unittest/%.o, $(UNITTEST_SRCS)) | 324 UNITTEST_OBJS = $(patsubst %.cpp, $(OBJDIR)/unittest/%.o, $(UNITTEST_SRCS)) |
| 326 UNITTEST_LIB_OBJS = $(filter-out $(OBJDIR)/main.o,$(OBJS)) | 325 UNITTEST_LIB_OBJS = $(filter-out $(OBJDIR)/main.o,$(OBJS)) |
| 327 | 326 |
| 327 NEXES = $(SB_OBJDIR)/pnacl-sz.x8632.nexe \ |
| 328 $(SB_OBJDIR)/pnacl-sz.x8664.nexe \ |
| 329 $(SBB_OBJDIR)/pnacl_public_x86_32_pnacl_sz_nexe \ |
| 330 $(SBB_OBJDIR)/pnacl_public_x86_64_pnacl_sz_nexe |
| 331 |
| 328 # Keep all the first target so it's the default. | 332 # Keep all the first target so it's the default. |
| 329 all: $(OBJDIR)/pnacl-sz make_symlink runtime | 333 all: $(OBJDIR)/pnacl-sz make_symlink runtime |
| 330 | 334 |
| 331 ifdef TSAN | 335 ifdef TSAN |
| 332 sb: | 336 sb: |
| 333 @echo "Skipping pnacl-sz.*.nexe: TSAN isn't supported under NaCl." | 337 @echo "Skipping pnacl-sz.*.nexe: TSAN isn't supported under NaCl." |
| 334 else | 338 else |
| 335 sb: $(SB_OBJDIR)/pnacl-sz.x8632.nexe \ | 339 sb: $(NEXES) sb_make_symlink |
| 336 $(SB_OBJDIR)/pnacl-sz.x8664.nexe \ | |
| 337 sb_make_symlink | |
| 338 endif | 340 endif |
| 339 | 341 |
| 340 # SHOW_BUILD_ATTS is an executable that is run to show what build | 342 # SHOW_BUILD_ATTS is an executable that is run to show what build |
| 341 # attributes were used to build pnacl-sz. | 343 # attributes were used to build pnacl-sz. |
| 342 SHOW_BUILD_ATTS = $(OBJDIR)/pnacl-sz --build-atts | 344 SHOW_BUILD_ATTS = $(OBJDIR)/pnacl-sz --build-atts |
| 343 | 345 |
| 344 # Creates symbolic link so that testing is easier. Also runs | 346 # Creates symbolic link so that testing is easier. Also runs |
| 345 # pnacl-sz to verify that the defines flags have valid values, | 347 # pnacl-sz to verify that the defines flags have valid values, |
| 346 # as well as describe the corresponding build attributes. | 348 # as well as describe the corresponding build attributes. |
| 347 make_symlink: $(OBJDIR)/pnacl-sz | 349 make_symlink: $(OBJDIR)/pnacl-sz |
| 348 rm -rf pnacl-sz | 350 rm -rf pnacl-sz |
| 349 ln -s $(OBJDIR)/pnacl-sz | 351 ln -s $(OBJDIR)/pnacl-sz |
| 350 @echo "Build Attributes:" | 352 @echo "Build Attributes:" |
| 351 @$(SHOW_BUILD_ATTS) | 353 @$(SHOW_BUILD_ATTS) |
| 352 | 354 |
| 353 sb_make_symlink: $(SB_OBJDIR)/pnacl-sz.x8632.nexe \ | 355 sb_make_symlink: $(NEXES) |
| 354 $(SB_OBJDIR)/pnacl-sz.x8664.nexe | 356 » $(foreach nexe,$(NEXES),rm -rf $(notdir $(nexe)); ln -s $(nexe);) |
| 355 » rm -rf pnacl-sz.x8632.nexe pnacl-sz.x8664.nexe | 357 |
| 356 » ln -s $(SB_OBJDIR)/pnacl-sz.x8632.nexe | 358 %.pexe : %.nonfinal.pexe |
| 357 » ln -s $(SB_OBJDIR)/pnacl-sz.x8664.nexe | 359 » $(SB_FINALIZE) -o $@ $< |
| 358 | 360 |
| 359 .PHONY: all compile_only make_symlink runtime bloat sb docs help \ | 361 .PHONY: all compile_only make_symlink runtime bloat sb docs help \ |
| 360 help-check-lit help-check-xtest | 362 help-check-lit help-check-xtest |
| 361 | 363 |
| 362 compile_only: $(OBJS) | 364 compile_only: $(OBJS) |
| 363 | 365 |
| 364 $(OBJDIR)/pnacl-sz: $(OBJS) | 366 $(OBJDIR)/pnacl-sz: $(OBJS) |
| 365 $(CXX) $(LDFLAGS) -o $@ $^ $(LLVM_LDFLAGS) \ | 367 $(CXX) $(LDFLAGS) -o $@ $^ $(LLVM_LDFLAGS) \ |
| 366 -Wl,-rpath=$(abspath $(LIBCXX_INSTALL_PATH)/lib) | 368 -Wl,-rpath=$(abspath $(LIBCXX_INSTALL_PATH)/lib) |
| 367 | 369 |
| 368 $(SB_OBJDIR)/pnacl-sz.nonfinal.pexe: $(SB_OBJS) | 370 $(SB_OBJDIR)/pnacl-sz.nonfinal.pexe: $(SB_OBJS) |
| 369 $(SB_CXX) $(SB_LDFLAGS) -o $@ $^ $(SB_LLVM_LDFLAGS) | 371 $(SB_CXX) $(SB_LDFLAGS) -o $@ $^ $(SB_LLVM_LDFLAGS) |
| 370 | 372 |
| 371 $(SB_OBJDIR)/pnacl-sz.pexe: $(SB_OBJDIR)/pnacl-sz.nonfinal.pexe | 373 $(SBB_OBJDIR)/pnacl-sz.nonfinal.pexe: $(SBB_OBJS) |
| 372 » $(SB_FINALIZE) $^ -o $@ | 374 » $(SB_CXX) $(SB_LDFLAGS) -o $@ $^ $(SB_LLVM_LDFLAGS) \ |
| 375 --pnacl-disable-abi-check |
| 373 | 376 |
| 374 $(SB_OBJDIR)/pnacl-sz.x8632.nexe: $(SB_OBJDIR)/pnacl-sz.pexe | 377 $(SB_OBJDIR)/pnacl-sz.x8632.nexe: $(SB_OBJDIR)/pnacl-sz.pexe |
| 375 $(SB_TRANSLATE) -arch x86-32 $^ -o $@ | 378 $(SB_TRANSLATE) -arch x86-32 $^ -o $@ |
| 376 | 379 |
| 377 $(SB_OBJDIR)/pnacl-sz.x8664.nexe: $(SB_OBJDIR)/pnacl-sz.pexe | 380 $(SB_OBJDIR)/pnacl-sz.x8664.nexe: $(SB_OBJDIR)/pnacl-sz.pexe |
| 378 $(SB_TRANSLATE) -arch x86-64 $^ -o $@ | 381 $(SB_TRANSLATE) -arch x86-64 $^ -o $@ |
| 379 | 382 |
| 383 $(SBB_OBJDIR)/pnacl_public_x86_32_pnacl_sz_nexe: $(SBB_OBJDIR)/pnacl-sz.pexe |
| 384 $(SB_TRANSLATE) -arch x86-32 $^ -o $@ |
| 385 |
| 386 $(SBB_OBJDIR)/pnacl_public_x86_64_pnacl_sz_nexe: $(SBB_OBJDIR)/pnacl-sz.pexe |
| 387 $(SB_TRANSLATE) -arch x86-64 $^ -o $@ |
| 388 |
| 380 src/IceRegistersARM32.def: pydir/gen_arm32_reg_tables.py | 389 src/IceRegistersARM32.def: pydir/gen_arm32_reg_tables.py |
| 381 python $< > $@ | 390 python $< > $@ |
| 382 | 391 |
| 383 # TODO(stichnot): Be more precise than "*.h" here and elsewhere. | 392 # TODO(stichnot): Be more precise than "*.h" here and elsewhere. |
| 384 $(OBJS): $(OBJDIR)/%.o: src/%.cpp src/*.h src/*.def | 393 $(OBJS): $(OBJDIR)/%.o: src/%.cpp src/*.h src/*.def |
| 385 $(CXX) -c $(CXXFLAGS) $< -o $@ | 394 $(CXX) -c $(CXXFLAGS) $< -o $@ |
| 386 | 395 |
| 387 $(SB_OBJS): $(SB_OBJDIR)/%.o: src/%.cpp src/*.h src/*.def | 396 $(SB_OBJS): $(SB_OBJDIR)/%.o: src/%.cpp src/*.h src/*.def |
| 388 » $(SB_CXX) -c $(SB_CXXFLAGS) $< -o $@ | 397 » $(SB_CXX) -c $(SB_CXXFLAGS) -DPNACL_BROWSER_TRANSLATOR=0 $< -o $@ |
| 398 |
| 399 $(SBB_OBJS): $(SBB_OBJDIR)/%.o: src/%.cpp src/*.h src/*.def |
| 400 » $(SB_CXX) -c $(SB_CXXFLAGS) -DPNACL_BROWSER_TRANSLATOR=1 $< -o $@ |
| 389 | 401 |
| 390 $(OBJDIR)/run_unittests: $(UNITTEST_OBJS) $(UNITTEST_LIB_OBJS) | 402 $(OBJDIR)/run_unittests: $(UNITTEST_OBJS) $(UNITTEST_LIB_OBJS) |
| 391 $(CXX) $(GTEST_LIB_PATH) $(LDFLAGS) -o $@ $^ $(LLVM_LDFLAGS) \ | 403 $(CXX) $(GTEST_LIB_PATH) $(LDFLAGS) -o $@ $^ $(LLVM_LDFLAGS) \ |
| 392 -lgtest -lgtest_main -ldl \ | 404 -lgtest -lgtest_main -ldl \ |
| 393 -Wl,-rpath=$(abspath $(LIBCXX_INSTALL_PATH)/lib) | 405 -Wl,-rpath=$(abspath $(LIBCXX_INSTALL_PATH)/lib) |
| 394 | 406 |
| 395 $(UNITTEST_OBJS): $(OBJDIR)/unittest/%.o: unittest/%.cpp unittest/*.h \ | 407 $(UNITTEST_OBJS): $(OBJDIR)/unittest/%.o: unittest/%.cpp unittest/*.h \ |
| 396 src/*.h src/*.def | 408 src/*.h src/*.def |
| 397 $(CXX) -c $(CXXFLAGS) \ | 409 $(CXX) -c $(CXXFLAGS) \ |
| 398 -Isrc/ \ | 410 -Isrc/ \ |
| 399 -Iunittest/ \ | 411 -Iunittest/ \ |
| 400 -I$(LLVM_SRC_PATH)/utils/unittest/googletest/include \ | 412 -I$(LLVM_SRC_PATH)/utils/unittest/googletest/include \ |
| 401 -I$(LLVM_SRC_PATH) \ | 413 -I$(LLVM_SRC_PATH) \ |
| 402 -DGTEST_HAS_RTTI=0 -DGTEST_USE_OWN_TR1_TUPLE \ | 414 -DGTEST_HAS_RTTI=0 -DGTEST_USE_OWN_TR1_TUPLE \ |
| 403 $< -o $@ | 415 $< -o $@ |
| 404 | 416 |
| 405 $(OBJS): | $(OBJDIR) | 417 $(OBJS): | $(OBJDIR) |
| 406 $(SB_OBJS): | $(SB_OBJDIR) | 418 $(SB_OBJS): | $(SB_OBJDIR) |
| 419 $(SBB_OBJS): | $(SBB_OBJDIR) |
| 407 | 420 |
| 408 $(UNITTEST_OBJS): | $(OBJDIR)/unittest $(OBJDIR)/unittest/AssemblerX8632 \ | 421 $(UNITTEST_OBJS): | $(OBJDIR)/unittest $(OBJDIR)/unittest/AssemblerX8632 \ |
| 409 $(OBJDIR)/unittest/AssemblerX8664 | 422 $(OBJDIR)/unittest/AssemblerX8664 |
| 410 | 423 |
| 411 $(OBJDIR): | 424 $(OBJDIR): |
| 412 @mkdir -p $@ | 425 @mkdir -p $@ |
| 413 $(SB_OBJDIR): | 426 $(SB_OBJDIR): |
| 414 @mkdir -p $@ | 427 @mkdir -p $@ |
| 428 $(SBB_OBJDIR): |
| 429 @mkdir -p $@ |
| 415 | 430 |
| 416 $(OBJDIR)/unittest: $(OBJDIR) | 431 $(OBJDIR)/unittest: $(OBJDIR) |
| 417 @mkdir -p $@ | 432 @mkdir -p $@ |
| 418 | 433 |
| 419 $(OBJDIR)/unittest/AssemblerX8632: $(OBJDIR)/unittest | 434 $(OBJDIR)/unittest/AssemblerX8632: $(OBJDIR)/unittest |
| 420 @mkdir -p $@ | 435 @mkdir -p $@ |
| 421 $(OBJDIR)/unittest/AssemblerX8664: $(OBJDIR)/unittest | 436 $(OBJDIR)/unittest/AssemblerX8664: $(OBJDIR)/unittest |
| 422 @mkdir -p $@ | 437 @mkdir -p $@ |
| 423 | 438 |
| 424 RT_SRC := runtime/szrt.c runtime/szrt_ll.ll runtime/szrt_profiler.c \ | 439 RT_SRC := runtime/szrt.c runtime/szrt_ll.ll runtime/szrt_profiler.c \ |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 509 | 524 |
| 510 check-spec: $(ALLSPEC:=.spec2k) | 525 check-spec: $(ALLSPEC:=.spec2k) |
| 511 | 526 |
| 512 check: check-lit check-unit check-xtest | 527 check: check-lit check-unit check-xtest |
| 513 | 528 |
| 514 check-presubmit presubmit: | 529 check-presubmit presubmit: |
| 515 # Make sure clang-format gets run. | 530 # Make sure clang-format gets run. |
| 516 +make -f Makefile.standalone format | 531 +make -f Makefile.standalone format |
| 517 # Verify MINIMAL build, plus proper usage of REQUIRES in lit tests. | 532 # Verify MINIMAL build, plus proper usage of REQUIRES in lit tests. |
| 518 +make -f Makefile.standalone \ | 533 +make -f Makefile.standalone \ |
| 519 MINIMAL=1 sb check | 534 MINIMAL=1 check |
| 520 # Check that there are no g++ build errors or warnings. | 535 # Check that there are no g++ build errors or warnings. |
| 521 +make -f Makefile.standalone \ | 536 +make -f Makefile.standalone \ |
| 522 GPLUSPLUS=1 compile_only | 537 GPLUSPLUS=1 compile_only |
| 523 # Check the x86 assembler unit tests. | 538 # Check the x86 assembler unit tests. |
| 524 +make -f Makefile.standalone \ | 539 +make -f Makefile.standalone \ |
| 525 DEBUG=1 CHECK_X86_ASM=1 check-unit | 540 DEBUG=1 CHECK_X86_ASM=1 check-unit sb |
| 526 # Run lit tests, cross tests, unit tests, and spec2k/x86-32. | 541 # Run lit tests, cross tests, unit tests, and spec2k/x86-32. |
| 527 +make -f Makefile.standalone \ | 542 +make -f Makefile.standalone \ |
| 528 check check-spec sb | 543 check check-spec sb |
| 529 # Run spec2k/x86-64. | 544 # Run spec2k/x86-64. |
| 530 +make -f Makefile.standalone \ | 545 +make -f Makefile.standalone \ |
| 531 TARGET=x8664 check-spec | 546 TARGET=x8664 check-spec |
| 532 # Build spec2k under -Om1/x86-32, to check for liveness errors. | 547 # Build spec2k under -Om1/x86-32, to check for liveness errors. |
| 533 +make -f Makefile.standalone \ | 548 +make -f Makefile.standalone \ |
| 534 SPECFLAGS='-Om1' SPECBUILDONLY=true check-spec | 549 SPECFLAGS='-Om1' SPECBUILDONLY=true check-spec |
| 535 # Build spec2k under -Om1/x86-64, to check for liveness errors. | 550 # Build spec2k under -Om1/x86-64, to check for liveness errors. |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 571 git diff -U0 `git merge-base HEAD master` | \ | 586 git diff -U0 `git merge-base HEAD master` | \ |
| 572 PATH=$(PNACL_BIN_PATH):$(PATH) \ | 587 PATH=$(PNACL_BIN_PATH):$(PATH) \ |
| 573 $(LLVM_SRC_PATH)/../clang/tools/clang-format/clang-format-diff.py \ | 588 $(LLVM_SRC_PATH)/../clang/tools/clang-format/clang-format-diff.py \ |
| 574 -p1 -style=LLVM -i | 589 -p1 -style=LLVM -i |
| 575 | 590 |
| 576 bloat: make_symlink | 591 bloat: make_symlink |
| 577 nm -C -S -l pnacl-sz | \ | 592 nm -C -S -l pnacl-sz | \ |
| 578 bloat/bloat.py --nm-output=/dev/stdin syms > build/pnacl-sz.bloat.json | 593 bloat/bloat.py --nm-output=/dev/stdin syms > build/pnacl-sz.bloat.json |
| 579 @echo See Subzero size breakdown in bloat/pnacl-sz.bloat.html | 594 @echo See Subzero size breakdown in bloat/pnacl-sz.bloat.html |
| 580 | 595 |
| 596 bloat-sb: sb_make_symlink |
| 597 $(foreach nexe,$(NEXES),nm -C -S -l $(nexe) | bloat/bloat.py \ |
| 598 --nm-output=/dev/stdin syms > build/$(notdir $(nexe)).bloat.json;) |
| 599 @echo "See Subzero size breakdown in:" |
| 600 @$(foreach nexe,$(NEXES),echo " bloat/$(notdir $(nexe)).bloat.html";) |
| 601 |
| 581 docs: | 602 docs: |
| 582 make -C docs -f Makefile.standalone | 603 make -C docs -f Makefile.standalone |
| 583 | 604 |
| 584 help: | 605 help: |
| 585 @cat Makefile.standalone-help/help.txt | 606 @cat Makefile.standalone-help/help.txt |
| 586 | 607 |
| 587 help-check-lit: | 608 help-check-lit: |
| 588 @cat Makefile.standalone-help/check-lit.txt | 609 @cat Makefile.standalone-help/check-lit.txt |
| 589 | 610 |
| 590 help-check-xtest: | 611 help-check-xtest: |
| 591 @cat Makefile.standalone-help/check-xtest.txt | 612 @cat Makefile.standalone-help/check-xtest.txt |
| 592 | 613 |
| 593 clean: | 614 clean: |
| 594 » rm -rf pnacl-sz pnacl-sz.x8632.nexe pnacl-sz.x8664.nexe *.o \ | 615 » rm -rf pnacl-sz *.o $(foreach nexe,$(NEXES),$(notdir $(nexe))) \ |
| 595 $(OBJDIR) $(SB_OBJDIR) build/pnacl-sz.bloat.json | 616 $(OBJDIR) $(SB_OBJDIR) $(SBB_OBJDIR) build/*.bloat.json |
| 596 | 617 |
| 597 clean-all: clean | 618 clean-all: clean |
| 598 rm -rf build/ crosstest/Output/ | 619 rm -rf build/ crosstest/Output/ |
| OLD | NEW |