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 10 matching lines...) Expand all Loading... |
21 # | 21 # |
22 # Compile Macro | 22 # Compile Macro |
23 # | 23 # |
24 # $1 = Source Name | 24 # $1 = Source Name |
25 # $2 = Compile Flags | 25 # $2 = Compile Flags |
26 # $3 = Include Directories | 26 # $3 = Include Directories |
27 # | 27 # |
28 define C_COMPILER_RULE | 28 define C_COMPILER_RULE |
29 -include $(OUTDIR)/$(basename $(1))_pnacl.d | 29 -include $(OUTDIR)/$(basename $(1))_pnacl.d |
30 $(OUTDIR)/$(basename $(1))_pnacl.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basena
me $(1)))dir.stamp | 30 $(OUTDIR)/$(basename $(1))_pnacl.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basena
me $(1)))dir.stamp |
31 » $(PNACL_CC) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_CFLAGS) | 31 » $(call LOG,CC,$$@,$(PNACL_CC) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_C
FLAGS)) |
32 endef | 32 endef |
33 | 33 |
34 define CXX_COMPILER_RULE | 34 define CXX_COMPILER_RULE |
35 -include $(OUTDIR)/$(basename $(1))_pnacl.d | 35 -include $(OUTDIR)/$(basename $(1))_pnacl.d |
36 $(OUTDIR)/$(basename $(1))_pnacl.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basena
me $(1)))dir.stamp | 36 $(OUTDIR)/$(basename $(1))_pnacl.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basena
me $(1)))dir.stamp |
37 » $(PNACL_CXX) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_CFLAGS) | 37 » $(call LOG,CXX,$$@,$(PNACL_CXX) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL
_CFLAGS)) |
38 endef | 38 endef |
39 | 39 |
40 | 40 |
41 # $1 = Source Name | 41 # $1 = Source Name |
42 # $2 = POSIX Compile Flags | 42 # $2 = POSIX Compile Flags |
43 # $3 = Include Directories | 43 # $3 = Include Directories |
44 # $4 = VC Flags (unused) | 44 # $4 = VC Flags (unused) |
45 define COMPILE_RULE | 45 define COMPILE_RULE |
46 ifeq ('.c','$(suffix $(1))') | 46 ifeq ('.c','$(suffix $(1))') |
47 $(call C_COMPILER_RULE,$(1),$(2) $(foreach inc,$(INC_PATHS),-I$(inc)) $(3)) | 47 $(call C_COMPILER_RULE,$(1),$(2) $(foreach inc,$(INC_PATHS),-I$(inc)) $(3)) |
(...skipping 22 matching lines...) Expand all Loading... |
70 # $2 = List of Sources | 70 # $2 = List of Sources |
71 # $3 = POSIX Link Flags | 71 # $3 = POSIX Link Flags |
72 # $4 = VC Link Flags (unused) | 72 # $4 = VC Link Flags (unused) |
73 define LIB_RULE | 73 define LIB_RULE |
74 $(STAMPDIR)/$(1).stamp : $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)/$(CONFIG)/lib$(1).a | 74 $(STAMPDIR)/$(1).stamp : $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)/$(CONFIG)/lib$(1).a |
75 @echo "TOUCHED $$@" > $(STAMPDIR)/$(1).stamp | 75 @echo "TOUCHED $$@" > $(STAMPDIR)/$(1).stamp |
76 | 76 |
77 all: $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)/$(CONFIG)/lib$(1).a | 77 all: $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)/$(CONFIG)/lib$(1).a |
78 $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)/$(CONFIG)/lib$(1).a : $(foreach src,$(2),$(OUT
DIR)/$(basename $(src))_pnacl.o) | 78 $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)/$(CONFIG)/lib$(1).a : $(foreach src,$(2),$(OUT
DIR)/$(basename $(src))_pnacl.o) |
79 $(MKDIR) -p $$(dir $$@) | 79 $(MKDIR) -p $$(dir $$@) |
80 » $(PNACL_LIB) $$@ $$^ $(3) | 80 » $(call LOG,LIB,$$@,$(PNACL_LIB) $$@ $$^ $(3)) |
81 endef | 81 endef |
82 | 82 |
83 | 83 |
84 # | 84 # |
85 # Specific Link Macro | 85 # Specific Link Macro |
86 # | 86 # |
87 # $1 = Target Name | 87 # $1 = Target Name |
88 # $2 = List of inputs | 88 # $2 = List of inputs |
89 # $3 = List of libs | 89 # $3 = List of libs |
90 # $4 = List of deps | 90 # $4 = List of deps |
91 # $5 = List of lib dirs | 91 # $5 = List of lib dirs |
92 # $6 = Other Linker Args | 92 # $6 = Other Linker Args |
93 # | 93 # |
94 define LINKER_RULE | 94 define LINKER_RULE |
95 all: $(1) | 95 all: $(1) |
96 $(1) : $(2) $(foreach dep,$(4),$(STAMPDIR)/$(dep).stamp) | 96 $(1) : $(2) $(foreach dep,$(4),$(STAMPDIR)/$(dep).stamp) |
97 » $(PNACL_LINK) -o $(1) $(2) $(foreach path,$(5),-L$(path)/pnacl/$(CONFIG)
) $(foreach lib,$(3),-l$(lib)) $(6) | 97 » $(call LOG,LINK,$$@,$(PNACL_LINK) -o $(1) $(2) $(foreach path,$(5),-L$(p
ath)/pnacl/$(CONFIG)) $(foreach lib,$(3),-l$(lib)) $(6)) |
98 endef | 98 endef |
99 | 99 |
100 | 100 |
101 | |
102 # | 101 # |
103 # Generalized Link Macro | 102 # Generalized Link Macro |
104 # | 103 # |
105 # $1 = Target Name | 104 # $1 = Target Name |
106 # $2 = List of Sources | 105 # $2 = List of Sources |
107 # $3 = List of LIBS | 106 # $3 = List of LIBS |
108 # $4 = List of DEPS | 107 # $4 = List of DEPS |
109 # $5 = POSIX Linker Switches | 108 # $5 = POSIX Linker Switches |
110 # $6 = VC Linker Switches | 109 # $6 = VC Linker Switches |
111 # | 110 # |
(...skipping 12 matching lines...) Expand all Loading... |
124 # the target directory for us. | 123 # the target directory for us. |
125 # | 124 # |
126 # $1 = Target Name (the basename of the nmf | 125 # $1 = Target Name (the basename of the nmf |
127 # $2 = Additional create_nmf.py arguments | 126 # $2 = Additional create_nmf.py arguments |
128 # | 127 # |
129 NMF:=python $(NACL_SDK_ROOT)/tools/create_nmf.py | 128 NMF:=python $(NACL_SDK_ROOT)/tools/create_nmf.py |
130 | 129 |
131 define NMF_RULE | 130 define NMF_RULE |
132 all:$(OUTDIR)/$(1).nmf | 131 all:$(OUTDIR)/$(1).nmf |
133 $(OUTDIR)/$(1).nmf : $(OUTDIR)/$(1).pexe | 132 $(OUTDIR)/$(1).nmf : $(OUTDIR)/$(1).pexe |
134 » $(NMF) -o $$@ $$^ -s $(OUTDIR) $(2) | 133 » $(call LOG,CREATE_NMF,$$@,$(NMF) -o $$@ $$^ -s $(OUTDIR) $(2)) |
135 endef | 134 endef |
136 | 135 |
137 | 136 |
OLD | NEW |