OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # | 5 # |
6 # GNU Make based build file. For details on GNU Make see: | 6 # GNU Make based build file. For details on GNU Make see: |
7 # http://www.gnu.org/software/make/manual/make.html | 7 # http://www.gnu.org/software/make/manual/make.html |
8 # | 8 # |
9 | 9 |
10 # | 10 # |
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
386 # $4 = List of DEPS | 386 # $4 = List of DEPS |
387 # $5 = POSIX Linker Switches | 387 # $5 = POSIX Linker Switches |
388 # $6 = VC Linker Switches | 388 # $6 = VC Linker Switches |
389 # | 389 # |
390 define LINK_RULE | 390 define LINK_RULE |
391 $(call LINKER_RULE,$(1),$(2),$(filter-out pthread,$(3)),$(4),$(5),$(LIB_PATHS)) | 391 $(call LINKER_RULE,$(1),$(2),$(filter-out pthread,$(3)),$(4),$(5),$(LIB_PATHS)) |
392 endef | 392 endef |
393 | 393 |
394 | 394 |
395 # | 395 # |
| 396 # Macro to generate linker scripts |
| 397 # |
| 398 # $1 = Target Name |
| 399 # $2 = Static Linker Script |
| 400 # $3 = Shared Linker Script |
| 401 # |
| 402 define LINKER_SCRIPT_RULE |
| 403 $(STAMPDIR)/$(1).stamp: |
| 404 @echo " STAMP $$@" |
| 405 @echo "TOUCHED $$@" > $(STAMPDIR)/$(1).stamp |
| 406 |
| 407 ifneq (,$(findstring x86_32,$(ARCHES))) |
| 408 $(STAMPDIR)/$(1).stamp: $(LIBDIR)/$(TOOLCHAIN)_x86_32/$(CONFIG)/lib$(1).a |
| 409 install: $(LIBDIR)/$(TOOLCHAIN)_x86_32/$(CONFIG)/lib$(1).a |
| 410 $(LIBDIR)/$(TOOLCHAIN)_x86_32/$(CONFIG)/lib$(1).a: $(2) |
| 411 $(MKDIR) -p $$(dir $$@) |
| 412 $(call LOG,CP ,$$@,$(OSHELPERS) cp $$^ $$@) |
| 413 endif |
| 414 |
| 415 ifneq (,$(findstring x86_64,$(ARCHES))) |
| 416 $(STAMPDIR)/$(1).stamp: $(LIBDIR)/$(TOOLCHAIN)_x86_64/$(CONFIG)/lib$(1).a |
| 417 install: $(LIBDIR)/$(TOOLCHAIN)_x86_64/$(CONFIG)/lib$(1).a |
| 418 $(LIBDIR)/$(TOOLCHAIN)_x86_64/$(CONFIG)/lib$(1).a: $(2) |
| 419 $(MKDIR) -p $$(dir $$@) |
| 420 $(call LOG,CP ,$$@,$(OSHELPERS) cp $$^ $$@) |
| 421 endif |
| 422 |
| 423 ifneq (,$(findstring arm,$(ARCHES))) |
| 424 $(STAMPDIR)/$(1).stamp: $(LIBDIR)/$(TOOLCHAIN)_arm/$(CONFIG)/lib$(1).a |
| 425 install: $(LIBDIR)/$(TOOLCHAIN)_arm/$(CONFIG)/lib$(1).a |
| 426 $(LIBDIR)/$(TOOLCHAIN)_arm/$(CONFIG)/lib$(1).a: $(2) |
| 427 $(MKDIR) -p $$(dir $$@) |
| 428 $(call LOG,CP ,$$@,$(OSHELPERS) cp $$^ $$@) |
| 429 endif |
| 430 |
| 431 ifeq ($(TOOLCHAIN),glibc) |
| 432 ifneq (,$(findstring x86_32,$(ARCHES))) |
| 433 $(STAMPDIR)/$(1).stamp: $(LIBDIR)/$(TOOLCHAIN)_x86_32/$(CONFIG)/lib$(1).so |
| 434 install: $(LIBDIR)/$(TOOLCHAIN)_x86_32/$(CONFIG)/lib$(1).so |
| 435 $(LIBDIR)/$(TOOLCHAIN)_x86_32/$(CONFIG)/lib$(1).so: $(3) |
| 436 $(MKDIR) -p $$(dir $$@) |
| 437 $(call LOG,CP ,$$@,$(OSHELPERS) cp $$^ $$@) |
| 438 endif |
| 439 |
| 440 ifneq (,$(findstring x86_64,$(ARCHES))) |
| 441 $(STAMPDIR)/$(1).stamp: $(LIBDIR)/$(TOOLCHAIN)_x86_64/$(CONFIG)/lib$(1).so |
| 442 install: $(LIBDIR)/$(TOOLCHAIN)_x86_64/$(CONFIG)/lib$(1).so |
| 443 $(LIBDIR)/$(TOOLCHAIN)_x86_64/$(CONFIG)/lib$(1).so: $(3) |
| 444 $(MKDIR) -p $$(dir $$@) |
| 445 $(call LOG,CP ,$$@,$(OSHELPERS) cp $$^ $$@) |
| 446 endif |
| 447 endif |
| 448 endef |
| 449 |
| 450 |
| 451 # |
396 # Strip Macro for each arch (e.g., each arch supported by LINKER_RULE). | 452 # Strip Macro for each arch (e.g., each arch supported by LINKER_RULE). |
397 # | 453 # |
398 # $1 = Target Name | 454 # $1 = Target Name |
399 # $2 = Source Name | 455 # $2 = Source Name |
400 # | 456 # |
401 define STRIP_ALL_RULE | 457 define STRIP_ALL_RULE |
402 ifneq (,$(findstring x86_32,$(ARCHES))) | 458 ifneq (,$(findstring x86_32,$(ARCHES))) |
403 $(X86_32_OUTDIR)/$(1)_x86_32.nexe: $(X86_32_OUTDIR)/$(2)_x86_32.nexe | 459 $(X86_32_OUTDIR)/$(1)_x86_32.nexe: $(X86_32_OUTDIR)/$(2)_x86_32.nexe |
404 $(call LOG,STRIP,$$@,$(X86_32_STRIP) -o $$@ $$^) | 460 $(call LOG,STRIP,$$@,$(X86_32_STRIP) -o $$@ $$^) |
405 endif | 461 endif |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
561 $(error Cannot run in sel_ldr unless $$NACL_ARCH is set) | 617 $(error Cannot run in sel_ldr unless $$NACL_ARCH is set) |
562 endif | 618 endif |
563 $(SEL_LDR_PATH) $(SEL_LDR_ARGS) $(OUTDIR)/$(TARGET)_$(NACL_ARCH).nexe --
$(EXE_ARGS) | 619 $(SEL_LDR_PATH) $(SEL_LDR_ARGS) $(OUTDIR)/$(TARGET)_$(NACL_ARCH).nexe --
$(EXE_ARGS) |
564 | 620 |
565 debug: all | 621 debug: all |
566 ifndef NACL_ARCH | 622 ifndef NACL_ARCH |
567 $(error Cannot run in sel_ldr unless $$NACL_ARCH is set) | 623 $(error Cannot run in sel_ldr unless $$NACL_ARCH is set) |
568 endif | 624 endif |
569 $(SEL_LDR_PATH) -d $(SEL_LDR_ARGS) $(OUTDIR)/$(TARGET)_$(NACL_ARCH).nexe
-- $(EXE_ARGS) | 625 $(SEL_LDR_PATH) -d $(SEL_LDR_ARGS) $(OUTDIR)/$(TARGET)_$(NACL_ARCH).nexe
-- $(EXE_ARGS) |
570 endif | 626 endif |
OLD | NEW |