Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(133)

Side by Side Diff: native_client_sdk/src/tools/nacl_gcc.mk

Issue 12395032: [NaCl SDK] Handle sources outside root in example build system (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698