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 23 matching lines...) Expand all Loading... | |
34 X86_64_LINK?=$(TC_PATH)/$(OSNAME)_x86_$(TOOLCHAIN)/bin/x86_64-nacl-g++ | 34 X86_64_LINK?=$(TC_PATH)/$(OSNAME)_x86_$(TOOLCHAIN)/bin/x86_64-nacl-g++ |
35 X86_64_LIB?=$(TC_PATH)/$(OSNAME)_x86_$(TOOLCHAIN)/bin/x86_64-nacl-ar | 35 X86_64_LIB?=$(TC_PATH)/$(OSNAME)_x86_$(TOOLCHAIN)/bin/x86_64-nacl-ar |
36 | 36 |
37 ARM_CC?=$(TC_PATH)/$(OSNAME)_arm_$(TOOLCHAIN)/bin/arm-nacl-gcc | 37 ARM_CC?=$(TC_PATH)/$(OSNAME)_arm_$(TOOLCHAIN)/bin/arm-nacl-gcc |
38 ARM_CXX?=$(TC_PATH)/$(OSNAME)_arm_$(TOOLCHAIN)/bin/arm-nacl-g++ | 38 ARM_CXX?=$(TC_PATH)/$(OSNAME)_arm_$(TOOLCHAIN)/bin/arm-nacl-g++ |
39 ARM_LINK?=$(TC_PATH)/$(OSNAME)_arm_$(TOOLCHAIN)/bin/arm-nacl-g++ | 39 ARM_LINK?=$(TC_PATH)/$(OSNAME)_arm_$(TOOLCHAIN)/bin/arm-nacl-g++ |
40 ARM_LIB?=$(TC_PATH)/$(OSNAME)_arm_$(TOOLCHAIN)/bin/arm-nacl-ar | 40 ARM_LIB?=$(TC_PATH)/$(OSNAME)_arm_$(TOOLCHAIN)/bin/arm-nacl-ar |
41 | 41 |
42 | 42 |
43 # | 43 # |
44 # Convert a source path to a object file path | |
45 # | |
46 # $1 = Source Name | |
47 # $2 = Arch sufffix | |
binji
2013/03/05 01:04:58
sp: suffix
Sam Clegg
2013/03/05 20:05:40
Done.
| |
48 # | |
49 define SRC_TO_OBJ | |
50 $(OUTDIR)/$(basename $(subst ..,__,$(1)))_$(2).o | |
51 endef | |
52 | |
53 | |
54 # | |
44 # Compile Macro | 55 # Compile Macro |
45 # | 56 # |
46 # $1 = Source Name | 57 # $1 = Source Name |
47 # $2 = Compile Flags | 58 # $2 = Compile Flags |
48 # | 59 # |
49 | |
50 define C_COMPILER_RULE | 60 define C_COMPILER_RULE |
51 -include $(OUTDIR)/$(basename $(1))_*.d | 61 -include $(OUTDIR)/$(basename $(1))_*.d |
52 $(OUTDIR)/$(basename $(1))_x86_32.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basen ame $(1)))dir.stamp | 62 $(call SRC_TO_OBJ,$(1),x86_32): $(1) $(TOP_MAKE) | $(call SRC_TO_OBJ,$(1),x86_32 )dir.stamp |
binji
2013/03/05 01:04:58
looks like you lost the call to $(dir)
Sam Clegg
2013/03/05 20:05:40
Done.
| |
53 $(call LOG,CC,$$@,$(X86_32_CC) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_ CFLAGS)) | 63 $(call LOG,CC,$$@,$(X86_32_CC) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_ CFLAGS)) |
54 | 64 |
55 $(OUTDIR)/$(basename $(1))_x86_64.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basen ame $(1)))dir.stamp | 65 $(call SRC_TO_OBJ,$(1),x86_64): $(1) $(TOP_MAKE) | $(call SRC_TO_OBJ,$(1),x86_64 )dir.stamp |
56 $(call LOG,CC,$$@,$(X86_64_CC) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_ CFLAGS)) | 66 $(call LOG,CC,$$@,$(X86_64_CC) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_ CFLAGS)) |
57 | 67 |
58 $(OUTDIR)/$(basename $(1))_arm.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basename $(1)))dir.stamp | 68 $(call SRC_TO_OBJ,$(1),arm): $(1) $(TOP_MAKE) | $(call SRC_TO_OBJ,$(1),arm)dir.s tamp |
59 $(call LOG,CC,$$@,$(ARM_CC) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_CFL AGS)) | 69 $(call LOG,CC,$$@,$(ARM_CC) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_CFL AGS)) |
60 endef | 70 endef |
61 | 71 |
62 define CXX_COMPILER_RULE | 72 define CXX_COMPILER_RULE |
63 -include $(OUTDIR)/$(basename $(1))_*.d | 73 -include $(OUTDIR)/$(basename $(1))_*.d |
64 $(OUTDIR)/$(basename $(1))_x86_32.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basen ame $(1)))dir.stamp | 74 $(call SRC_TO_OBJ,$(1),x86_32): $(1) $(TOP_MAKE) | $(call SRC_TO_OBJ,$(1),x86_32 )dir.stamp |
65 $(call LOG,CXX,$$@,$(X86_32_CXX) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NAC L_CXXFLAGS)) | 75 $(call LOG,CXX,$$@,$(X86_32_CXX) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NAC L_CXXFLAGS)) |
66 | 76 |
67 $(OUTDIR)/$(basename $(1))_x86_64.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basen ame $(1)))dir.stamp | 77 $(call SRC_TO_OBJ,$(1),x86_64): $(1) $(TOP_MAKE) | $(call SRC_TO_OBJ,$(1),x86_64 )dir.stamp |
68 $(call LOG,CXX,$$@,$(X86_64_CXX) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NAC L_CXXFLAGS)) | 78 $(call LOG,CXX,$$@,$(X86_64_CXX) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NAC L_CXXFLAGS)) |
69 | 79 |
70 $(OUTDIR)/$(basename $(1))_arm.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basename $(1)))dir.stamp | 80 $(call SRC_TO_OBJ,$(1),arm): $(1) $(TOP_MAKE) | $(call SRC_TO_OBJ,$(1),arm)dir.s tamp |
71 $(call LOG,CXX,$$@,$(ARM_CXX) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_C XXFLAGS)) | 81 $(call LOG,CXX,$$@,$(ARM_CXX) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_C XXFLAGS)) |
72 endef | 82 endef |
73 | 83 |
74 | 84 |
75 # | 85 # |
76 # $1 = Source Name | 86 # $1 = Source Name |
77 # $2 = POSIX Compile Flags | 87 # $2 = POSIX Compile Flags |
78 # $3 = Include Directories | 88 # $3 = Include Directories |
79 # $4 = VC Flags (unused) | 89 # $4 = VC Flags (unused) |
80 # | 90 # |
(...skipping 12 matching lines...) Expand all Loading... | |
93 # $1 = Target Name | 103 # $1 = Target Name |
94 # $2 = List of Sources | 104 # $2 = List of Sources |
95 # $3 = List of LIBS | 105 # $3 = List of LIBS |
96 # $4 = List of DEPS | 106 # $4 = List of DEPS |
97 # $5 = 1 => Don't add to NMF. | 107 # $5 = 1 => Don't add to NMF. |
98 # | 108 # |
99 # | 109 # |
100 GLIBC_REMAP:= | 110 GLIBC_REMAP:= |
101 define SO_RULE | 111 define SO_RULE |
102 NMF_TARGETS+=$$(OUTDIR)/$(1)_x86_32.so | 112 NMF_TARGETS+=$$(OUTDIR)/$(1)_x86_32.so |
103 $(OUTDIR)/$(1)_x86_32.so : $(foreach src,$(2),$(OUTDIR)/$(basename $(src))_x86_3 2.o) $(4) | 113 $(OUTDIR)/$(1)_x86_32.so : $(foreach src,$(2),$(call SRC_TO_OBJ,$(src),x86_32) $ (4) |
104 $(call LOG,LINK,$$@,$(X86_32_LINK) -o $$@ $$(filter-out $(4),$$^) -share d -m32 $$(LD_X86_32) $$(LD_FLAGS) $(foreach lib,$(3),-l$(lib))) | 114 $(call LOG,LINK,$$@,$(X86_32_LINK) -o $$@ $$(filter-out $(4),$$^) -share d -m32 $$(LD_X86_32) $$(LD_FLAGS) $(foreach lib,$(3),-l$(lib))) |
105 | 115 |
106 NMF_TARGETS+=$(OUTDIR)/$(1)_x86_64.so | 116 NMF_TARGETS+=$(OUTDIR)/$(1)_x86_64.so |
107 $(OUTDIR)/$(1)_x86_64.so : $(foreach src,$(2),$$(OUTDIR)/$(basename $(src))_x86_ 64.o) $(4) | 117 $(OUTDIR)/$(1)_x86_64.so : $(foreach src,$(2),$(call SRC_TO_OBJ,$(src)),x86_64) $(4) |
108 $(call LOG,LINK,$$@,$(X86_32_LINK) -o $$@ $$(filter-out $(4),$$^) -share d -m64 $(LD_X86_64) $$(LD_FLAGS) $(foreach lib,$(3),-l$(lib))) | 118 $(call LOG,LINK,$$@,$(X86_32_LINK) -o $$@ $$(filter-out $(4),$$^) -share d -m64 $(LD_X86_64) $$(LD_FLAGS) $(foreach lib,$(3),-l$(lib))) |
109 | 119 |
110 ifneq (1,$(5)) | 120 ifneq (1,$(5)) |
111 GLIBC_SO_LIST+=$(OUTDIR)/$(1)_x86_32.so $(OUTDIR)/$(1)_x86_64.so | 121 GLIBC_SO_LIST+=$(OUTDIR)/$(1)_x86_32.so $(OUTDIR)/$(1)_x86_64.so |
112 GLIBC_REMAP+=-n $(1)_x86_32.so,$(1).so | 122 GLIBC_REMAP+=-n $(1)_x86_32.so,$(1).so |
113 GLIBC_REMAP+=-n $(1)_x86_64.so,$(1).so | 123 GLIBC_REMAP+=-n $(1)_x86_64.so,$(1).so |
114 else | 124 else |
115 all: $(OUTDIR)/$(1)_x86_32.so $(OUTDIR)/$(1)_x86_64.so | 125 all: $(OUTDIR)/$(1)_x86_32.so $(OUTDIR)/$(1)_x86_64.so |
116 endif | 126 endif |
117 endef | 127 endef |
(...skipping 11 matching lines...) Expand all Loading... | |
129 $(STAMPDIR)/$(1).stamp : $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_32/$(CONFIG)/lib$ (1).a | 139 $(STAMPDIR)/$(1).stamp : $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_32/$(CONFIG)/lib$ (1).a |
130 $(STAMPDIR)/$(1).stamp : $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_64/$(CONFIG)/lib$ (1).a | 140 $(STAMPDIR)/$(1).stamp : $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_64/$(CONFIG)/lib$ (1).a |
131 ifneq ('glibc','$(TOOLCHAIN)') | 141 ifneq ('glibc','$(TOOLCHAIN)') |
132 $(STAMPDIR)/$(1).stamp : $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_arm/$(CONFIG)/lib$(1) .a | 142 $(STAMPDIR)/$(1).stamp : $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_arm/$(CONFIG)/lib$(1) .a |
133 endif | 143 endif |
134 | 144 |
135 $(STAMPDIR)/$(1).stamp : | 145 $(STAMPDIR)/$(1).stamp : |
136 @echo "TOUCHED $$@" > $(STAMPDIR)/$(1).stamp | 146 @echo "TOUCHED $$@" > $(STAMPDIR)/$(1).stamp |
137 | 147 |
138 all: $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_32/$(CONFIG)/lib$(1).a | 148 all: $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_32/$(CONFIG)/lib$(1).a |
139 $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_32/$(CONFIG)/lib$(1).a : $(foreach src,$(2 ),$(OUTDIR)/$(basename $(src))_x86_32.o) | 149 $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_32/$(CONFIG)/lib$(1).a : $(foreach src,$(2 ),$(call SRC_TO_OBJ,$(src),x86_32)) |
140 $(MKDIR) -p $$(dir $$@) | 150 $(MKDIR) -p $$(dir $$@) |
141 $(call LOG,LIB,$$@,$(X86_32_LIB) -r $$@ $$^) | 151 $(call LOG,LIB,$$@,$(X86_32_LIB) -r $$@ $$^) |
142 | 152 |
143 all: $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_64/$(CONFIG)/lib$(1).a | 153 all: $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_64/$(CONFIG)/lib$(1).a |
144 $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_64/$(CONFIG)/lib$(1).a : $(foreach src,$(2 ),$(OUTDIR)/$(basename $(src))_x86_64.o) | 154 $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_64/$(CONFIG)/lib$(1).a : $(foreach src,$(2 ),$(call SRC_TO_OBJ,$(src),x86_64)) |
145 $(MKDIR) -p $$(dir $$@) | 155 $(MKDIR) -p $$(dir $$@) |
146 $(call LOG,LIB,$$@,$(X86_64_LIB) -r $$@ $$^) | 156 $(call LOG,LIB,$$@,$(X86_64_LIB) -r $$@ $$^) |
147 | 157 |
148 ifneq ('glibc','$(TOOLCHAIN)') | 158 ifneq ('glibc','$(TOOLCHAIN)') |
149 all: $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_arm/$(CONFIG)/lib$(1).a | 159 all: $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_arm/$(CONFIG)/lib$(1).a |
150 endif | 160 endif |
151 $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_arm/$(CONFIG)/lib$(1).a : $(foreach src,$(2),$ (OUTDIR)/$(basename $(src))_arm.o) | 161 $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_arm/$(CONFIG)/lib$(1).a : $(foreach src,$(2),$ (call SRC_TO_OBJ,$(src),arm)) |
152 $(MKDIR) -p $$(dir $$@) | 162 $(MKDIR) -p $$(dir $$@) |
153 $(call LOG,LIB,$$@,$(ARM_LIB) -r $$@ $$^) | 163 $(call LOG,LIB,$$@,$(ARM_LIB) -r $$@ $$^) |
154 endef | 164 endef |
155 | 165 |
166 | |
156 # | 167 # |
157 # Specific Link Macro | 168 # Specific Link Macro |
158 # | 169 # |
159 # $1 = Target Name | 170 # $1 = Target Name |
160 # $2 = List of Sources | 171 # $2 = List of Sources |
161 # $3 = List of LIBS | 172 # $3 = List of LIBS |
162 # $4 = List of DEPS | 173 # $4 = List of DEPS |
163 # $5 = POSIX Link Flags | 174 # $5 = POSIX Link Flags |
164 # $6 = Library Paths | 175 # $6 = Library Paths |
165 # | 176 # |
166 define LINKER_RULE | 177 define LINKER_RULE |
167 $(OUTDIR)/$(1)_x86_32.nexe : $(foreach src,$(2),$(OUTDIR)/$(basename $(src))_x86 _32.o) $(foreach dep,$(4),$(STAMPDIR)/$(dep).stamp) | 178 $(OUTDIR)/$(1)_x86_32.nexe : $(foreach src,$(2),$(call SRC_TO_OBJ,$(src),x86_32) ) $(foreach dep,$(4),$(STAMPDIR)/$(dep).stamp) |
168 $(call LOG,LINK,$$@,$(X86_32_LINK) -o $$@ $$(filter %.o,$$^) $(NACL_LDFL AGS) $(foreach path,$(6),-L$(path)/$(TOOLCHAIN)_x86_32/$(CONFIG)) $(foreach lib, $(3),-l$(lib)) $(5)) | 179 $(call LOG,LINK,$$@,$(X86_32_LINK) -o $$@ $$(filter %.o,$$^) $(NACL_LDFL AGS) $(foreach path,$(6),-L$(path)/$(TOOLCHAIN)_x86_32/$(CONFIG)) $(foreach lib, $(3),-l$(lib)) $(5)) |
169 | 180 |
170 $(OUTDIR)/$(1)_x86_64.nexe : $(foreach src,$(2),$$(OUTDIR)/$(basename $(src))_x8 6_64.o) $(foreach dep,$(4),$(STAMPDIR)/$(dep).stamp) | 181 $(OUTDIR)/$(1)_x86_64.nexe : $(foreach src,$(2),$(call SRC_TO_OBJ,$(src),x86_64) ) $(foreach dep,$(4),$(STAMPDIR)/$(dep).stamp) |
171 $(call LOG,LINK,$$@,$(X86_64_LINK) -o $$@ $$(filter %.o,$$^) $(NACL_LDFL AGS) $(foreach path,$(6),-L$(path)/$(TOOLCHAIN)_x86_64/$(CONFIG)) $(foreach lib, $(3),-l$(lib)) $(5)) | 182 $(call LOG,LINK,$$@,$(X86_64_LINK) -o $$@ $$(filter %.o,$$^) $(NACL_LDFL AGS) $(foreach path,$(6),-L$(path)/$(TOOLCHAIN)_x86_64/$(CONFIG)) $(foreach lib, $(3),-l$(lib)) $(5)) |
172 | 183 |
173 $(OUTDIR)/$(1)_arm.nexe : $(foreach src,$(2),$(OUTDIR)/$(basename $(src))_arm.o) $(foreach dep,$(4),$(STAMPDIR)/$(dep).stamp) | 184 $(OUTDIR)/$(1)_arm.nexe : $(foreach src,$(2),$(call SRC_TO_OBJ,$(src),arm)) $(fo reach dep,$(4),$(STAMPDIR)/$(dep).stamp) |
174 $(call LOG,LINK,$$@,$(ARM_LINK) -o $$@ $$(filter %.o,$$^) $(NACL_LDFLAGS ) $(foreach path,$(6),-L$(path)/$(TOOLCHAIN)_arm/$(CONFIG)) $(foreach lib,$(3),- l$(lib)) $(5)) | 185 $(call LOG,LINK,$$@,$(ARM_LINK) -o $$@ $$(filter %.o,$$^) $(NACL_LDFLAGS ) $(foreach path,$(6),-L$(path)/$(TOOLCHAIN)_arm/$(CONFIG)) $(foreach lib,$(3),- l$(lib)) $(5)) |
175 endef | 186 endef |
176 | 187 |
177 | 188 |
178 # | 189 # |
179 # Generalized Link Macro | 190 # Generalized Link Macro |
180 # | 191 # |
181 # $1 = Target Name | 192 # $1 = Target Name |
182 # $2 = List of Sources | 193 # $2 = List of Sources |
183 # $3 = List of LIBS | 194 # $3 = List of LIBS |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
228 NMF:=python $(NACL_SDK_ROOT)/tools/create_nmf.py | 239 NMF:=python $(NACL_SDK_ROOT)/tools/create_nmf.py |
229 GLIBC_DUMP:=$(TC_PATH)/$(OSNAME)_x86_glibc/x86_64-nacl/bin/objdump | 240 GLIBC_DUMP:=$(TC_PATH)/$(OSNAME)_x86_glibc/x86_64-nacl/bin/objdump |
230 GLIBC_PATHS:=-L $(TC_PATH)/$(OSNAME)_x86_glibc/x86_64-nacl/lib32 | 241 GLIBC_PATHS:=-L $(TC_PATH)/$(OSNAME)_x86_glibc/x86_64-nacl/lib32 |
231 GLIBC_PATHS+=-L $(TC_PATH)/$(OSNAME)_x86_glibc/x86_64-nacl/lib | 242 GLIBC_PATHS+=-L $(TC_PATH)/$(OSNAME)_x86_glibc/x86_64-nacl/lib |
232 | 243 |
233 define NMF_RULE | 244 define NMF_RULE |
234 all:$(OUTDIR)/$(1).nmf | 245 all:$(OUTDIR)/$(1).nmf |
235 $(OUTDIR)/$(1).nmf : $(foreach arch,$(NMF_ARCHES),$(OUTDIR)/$(1)$(arch)) $(GLIBC _SO_LIST) | 246 $(OUTDIR)/$(1).nmf : $(foreach arch,$(NMF_ARCHES),$(OUTDIR)/$(1)$(arch)) $(GLIBC _SO_LIST) |
236 $(call LOG,CREATE_NMF,$$@,$(NMF) -o $$@ $$^ -D $(GLIBC_DUMP) $(GLIBC_PAT HS) -s $(OUTDIR) $(2) $(GLIBC_REMAP)) | 247 $(call LOG,CREATE_NMF,$$@,$(NMF) -o $$@ $$^ -D $(GLIBC_DUMP) $(GLIBC_PAT HS) -s $(OUTDIR) $(2) $(GLIBC_REMAP)) |
237 endef | 248 endef |
238 | |
239 | |
OLD | NEW |