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 28 matching lines...) Expand all Loading... | |
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 # Compile Macro | 44 # Compile Macro |
45 # | 45 # |
46 # $1 = Source Name | 46 # $1 = Source Name |
47 # $2 = Compile Flags | 47 # $2 = Compile Flags |
48 # | 48 # |
49 | |
50 define C_COMPILER_RULE | 49 define C_COMPILER_RULE |
51 -include $(OUTDIR)/$(basename $(1))_*.d | 50 -include $(call SRC_TO_DEP,$(1),_x86_32) |
52 $(OUTDIR)/$(basename $(1))_x86_32.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basen ame $(1)))dir.stamp | 51 $(call SRC_TO_OBJ,$(1),_x86_32): $(1) $(TOP_MAKE) | $(dir $(call SRC_TO_OBJ,$(1) ))dir.stamp |
53 $(call LOG,CC,$$@,$(X86_32_CC) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_ CFLAGS)) | 52 $(call LOG,CC,$$@,$(X86_32_CC) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_ CFLAGS)) |
54 | 53 |
55 $(OUTDIR)/$(basename $(1))_x86_64.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basen ame $(1)))dir.stamp | 54 -include $(call SRC_TO_DEP,$(1),_x86_64) |
55 $(call SRC_TO_OBJ,$(1),_x86_64): $(1) $(TOP_MAKE) | $(dir $(call SRC_TO_OBJ,$(1) ))dir.stamp | |
56 $(call LOG,CC,$$@,$(X86_64_CC) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_ CFLAGS)) | 56 $(call LOG,CC,$$@,$(X86_64_CC) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_ CFLAGS)) |
57 | 57 |
58 $(OUTDIR)/$(basename $(1))_arm.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basename $(1)))dir.stamp | 58 -include $(call SRC_TO_DEP,$(1),_arm) |
59 $(call SRC_TO_OBJ,$(1),_arm): $(1) $(TOP_MAKE) | $(dir $(call SRC_TO_OBJ,$(1)))d ir.stamp | |
59 $(call LOG,CC,$$@,$(ARM_CC) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_CFL AGS)) | 60 $(call LOG,CC,$$@,$(ARM_CC) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_CFL AGS)) |
60 endef | 61 endef |
61 | 62 |
62 define CXX_COMPILER_RULE | 63 define CXX_COMPILER_RULE |
63 -include $(OUTDIR)/$(basename $(1))_*.d | 64 -include $(call SRC_TO_DEP,$(1),_x86_32) |
64 $(OUTDIR)/$(basename $(1))_x86_32.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basen ame $(1)))dir.stamp | 65 $(call SRC_TO_OBJ,$(1),_x86_32): $(1) $(TOP_MAKE) | $(dir $(call SRC_TO_OBJ,$(1) ))dir.stamp |
65 $(call LOG,CXX,$$@,$(X86_32_CXX) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NAC L_CXXFLAGS)) | 66 $(call LOG,CXX,$$@,$(X86_32_CXX) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NAC L_CXXFLAGS)) |
66 | 67 |
67 $(OUTDIR)/$(basename $(1))_x86_64.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basen ame $(1)))dir.stamp | 68 -include $(call SRC_TO_DEP,$(1),_x86_64) |
69 $(call SRC_TO_OBJ,$(1),_x86_64): $(1) $(TOP_MAKE) | $(dir $(call SRC_TO_OBJ,$(1) ))dir.stamp | |
68 $(call LOG,CXX,$$@,$(X86_64_CXX) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NAC L_CXXFLAGS)) | 70 $(call LOG,CXX,$$@,$(X86_64_CXX) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NAC L_CXXFLAGS)) |
69 | 71 |
70 $(OUTDIR)/$(basename $(1))_arm.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basename $(1)))dir.stamp | 72 -include $(call SRC_TO_DEP,$(1),_arm) |
71 » $(call LOG,CXX,$$@,$(ARM_CXX) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_C XXFLAGS)) | 73 $(call SRC_TO_OBJ,$(1),_arm): $(1) $(TOP_MAKE) | $(dir $(call SRC_TO_OBJ,$(1)))d ir.stamp |
74 » $(call LOG,CXX,_$$@,$(ARM_CXX) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_ CXXFLAGS)) | |
72 endef | 75 endef |
73 | 76 |
74 | 77 |
75 # | 78 # |
76 # $1 = Source Name | 79 # $1 = Source Name |
77 # $2 = POSIX Compile Flags | 80 # $2 = POSIX Compile Flags |
78 # $3 = Include Directories | 81 # $3 = Include Directories |
79 # $4 = VC Flags (unused) | 82 # $4 = VC Flags (unused) |
80 # | 83 # |
81 define COMPILE_RULE | 84 define COMPILE_RULE |
82 ifeq ('.c','$(suffix $(1))') | 85 ifeq ($(suffix $(1)),.c) |
83 $(call C_COMPILER_RULE,$(1),$(2) $(foreach inc,$(INC_PATHS),-I$(inc)) $(3)) | 86 $(call C_COMPILER_RULE,$(1),$(2) $(foreach inc,$(INC_PATHS),-I$(inc)) $(3)) |
84 else | 87 else |
85 $(call CXX_COMPILER_RULE,$(1),$(2) $(foreach inc,$(INC_PATHS),-I$(inc)) $(3)) | 88 $(call CXX_COMPILER_RULE,$(1),$(2) $(foreach inc,$(INC_PATHS),-I$(inc)) $(3)) |
86 endif | 89 endif |
87 endef | 90 endef |
88 | 91 |
89 | 92 |
90 # | 93 # |
91 # SO Macro | 94 # SO Macro |
92 # | 95 # |
93 # $1 = Target Name | 96 # $1 = Target Name |
94 # $2 = List of Sources | 97 # $2 = List of Sources |
95 # $3 = List of LIBS | 98 # $3 = List of LIBS |
96 # $4 = List of DEPS | 99 # $4 = List of DEPS |
97 # $5 = 1 => Don't add to NMF. | 100 # $5 = 1 => Don't add to NMF. |
98 # | 101 # |
99 # | 102 # |
100 GLIBC_REMAP:= | 103 GLIBC_REMAP:= |
101 define SO_RULE | 104 define SO_RULE |
102 NMF_TARGETS+=$$(OUTDIR)/$(1)_x86_32.so | 105 NMF_TARGETS+=$$(OUTDIR)/$(1)_x86_32.so |
103 $(OUTDIR)/$(1)_x86_32.so : $(foreach src,$(2),$(OUTDIR)/$(basename $(src))_x86_3 2.o) $(4) | 106 $(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))) | 107 $(call LOG,LINK,$$@,$(X86_32_LINK) -o $$@ $$(filter-out $(4),$$^) -share d -m32 $$(LD_X86_32) $$(LD_FLAGS) $(foreach lib,$(3),-l$(lib))) |
105 | 108 |
106 NMF_TARGETS+=$(OUTDIR)/$(1)_x86_64.so | 109 NMF_TARGETS+=$(OUTDIR)/$(1)_x86_64.so |
107 $(OUTDIR)/$(1)_x86_64.so : $(foreach src,$(2),$$(OUTDIR)/$(basename $(src))_x86_ 64.o) $(4) | 110 $(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))) | 111 $(call LOG,LINK,$$@,$(X86_32_LINK) -o $$@ $$(filter-out $(4),$$^) -share d -m64 $(LD_X86_64) $$(LD_FLAGS) $(foreach lib,$(3),-l$(lib))) |
109 | 112 |
110 ifneq (1,$(5)) | 113 ifneq (1,$(5)) |
111 GLIBC_SO_LIST+=$(OUTDIR)/$(1)_x86_32.so $(OUTDIR)/$(1)_x86_64.so | 114 GLIBC_SO_LIST+=$(OUTDIR)/$(1)_x86_32.so $(OUTDIR)/$(1)_x86_64.so |
112 GLIBC_REMAP+=-n $(1)_x86_32.so,$(1).so | 115 GLIBC_REMAP+=-n $(1)_x86_32.so,$(1).so |
113 GLIBC_REMAP+=-n $(1)_x86_64.so,$(1).so | 116 GLIBC_REMAP+=-n $(1)_x86_64.so,$(1).so |
114 else | 117 else |
115 all: $(OUTDIR)/$(1)_x86_32.so $(OUTDIR)/$(1)_x86_64.so | 118 all: $(OUTDIR)/$(1)_x86_32.so $(OUTDIR)/$(1)_x86_64.so |
116 endif | 119 endif |
117 endef | 120 endef |
(...skipping 11 matching lines...) Expand all Loading... | |
129 $(STAMPDIR)/$(1).stamp : $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_32/$(CONFIG)/lib$ (1).a | 132 $(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 | 133 $(STAMPDIR)/$(1).stamp : $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_64/$(CONFIG)/lib$ (1).a |
131 ifneq ('glibc','$(TOOLCHAIN)') | 134 ifneq ('glibc','$(TOOLCHAIN)') |
132 $(STAMPDIR)/$(1).stamp : $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_arm/$(CONFIG)/lib$(1) .a | 135 $(STAMPDIR)/$(1).stamp : $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_arm/$(CONFIG)/lib$(1) .a |
133 endif | 136 endif |
134 | 137 |
135 $(STAMPDIR)/$(1).stamp : | 138 $(STAMPDIR)/$(1).stamp : |
136 @echo "TOUCHED $$@" > $(STAMPDIR)/$(1).stamp | 139 @echo "TOUCHED $$@" > $(STAMPDIR)/$(1).stamp |
137 | 140 |
138 all: $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_32/$(CONFIG)/lib$(1).a | 141 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) | 142 $(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 $$@) | 143 $(MKDIR) -p $$(dir $$@) |
141 $(call LOG,LIB,$$@,$(X86_32_LIB) -r $$@ $$^) | 144 $(call LOG,LIB,$$@,$(X86_32_LIB) -r $$@ $$^) |
142 | 145 |
143 all: $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_64/$(CONFIG)/lib$(1).a | 146 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) | 147 $(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 $$@) | 148 $(MKDIR) -p $$(dir $$@) |
146 $(call LOG,LIB,$$@,$(X86_64_LIB) -r $$@ $$^) | 149 $(call LOG,LIB,$$@,$(X86_64_LIB) -r $$@ $$^) |
147 | 150 |
148 ifneq ('glibc','$(TOOLCHAIN)') | 151 ifneq ('glibc','$(TOOLCHAIN)') |
149 all: $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_arm/$(CONFIG)/lib$(1).a | 152 all: $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_arm/$(CONFIG)/lib$(1).a |
150 endif | 153 endif |
151 $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_arm/$(CONFIG)/lib$(1).a : $(foreach src,$(2),$ (OUTDIR)/$(basename $(src))_arm.o) | 154 $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_arm/$(CONFIG)/lib$(1).a : $(foreach src,$(2),$ (call SRC_TO_OBJ,$(src),_arm)) |
152 $(MKDIR) -p $$(dir $$@) | 155 $(MKDIR) -p $$(dir $$@) |
153 $(call LOG,LIB,$$@,$(ARM_LIB) -r $$@ $$^) | 156 $(call LOG,LIB,$$@,$(ARM_LIB) -r $$@ $$^) |
154 endef | 157 endef |
155 | 158 |
159 | |
156 # | 160 # |
157 # Specific Link Macro | 161 # Specific Link Macro |
158 # | 162 # |
159 # $1 = Target Name | 163 # $1 = Target Name |
160 # $2 = List of Sources | 164 # $2 = List of Sources |
161 # $3 = List of LIBS | 165 # $3 = List of LIBS |
162 # $4 = List of DEPS | 166 # $4 = List of DEPS |
163 # $5 = POSIX Link Flags | 167 # $5 = POSIX Link Flags |
164 # $6 = Library Paths | 168 # $6 = Library Paths |
165 # | 169 # |
166 define LINKER_RULE | 170 define LINKER_RULE |
167 $(OUTDIR)/$(1)_x86_32.nexe : $(foreach src,$(2),$(OUTDIR)/$(basename $(src))_x86 _32.o) $(foreach dep,$(4),$(STAMPDIR)/$(dep).stamp) | 171 $(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)) | 172 $(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 | 173 |
170 $(OUTDIR)/$(1)_x86_64.nexe : $(foreach src,$(2),$$(OUTDIR)/$(basename $(src))_x8 6_64.o) $(foreach dep,$(4),$(STAMPDIR)/$(dep).stamp) | 174 $(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)) | 175 $(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 | 176 |
173 $(OUTDIR)/$(1)_arm.nexe : $(foreach src,$(2),$(OUTDIR)/$(basename $(src))_arm.o) $(foreach dep,$(4),$(STAMPDIR)/$(dep).stamp) | 177 $(OUTDIR)/$(1)_arm.nexe : $(foreach src,$(2),$(call SRC_TO_OBJ,$(src),_arm)) $(f oreach 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)) | 178 $(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 | 179 endef |
176 | 180 |
177 | 181 |
178 # | 182 # |
179 # Generalized Link Macro | 183 # Generalized Link Macro |
180 # | 184 # |
181 # $1 = Target Name | 185 # $1 = Target Name |
182 # $2 = List of Sources | 186 # $2 = List of Sources |
183 # $3 = List of LIBS | 187 # $3 = List of LIBS |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
227 # | 231 # |
228 NMF:=python $(NACL_SDK_ROOT)/tools/create_nmf.py | 232 NMF:=python $(NACL_SDK_ROOT)/tools/create_nmf.py |
229 GLIBC_DUMP:=$(TC_PATH)/$(OSNAME)_x86_glibc/x86_64-nacl/bin/objdump | 233 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 | 234 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 | 235 GLIBC_PATHS+=-L $(TC_PATH)/$(OSNAME)_x86_glibc/x86_64-nacl/lib |
232 | 236 |
233 define NMF_RULE | 237 define NMF_RULE |
234 all:$(OUTDIR)/$(1).nmf | 238 all:$(OUTDIR)/$(1).nmf |
235 $(OUTDIR)/$(1).nmf : $(foreach arch,$(NMF_ARCHES),$(OUTDIR)/$(1)$(arch)) $(GLIBC _SO_LIST) | 239 $(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)) | 240 $(call LOG,CREATE_NMF,$$@,$(NMF) -o $$@ $$^ -D $(GLIBC_DUMP) $(GLIBC_PAT HS) -s $(OUTDIR) $(2) $(GLIBC_REMAP)) |
237 endef | 241 endef |
noelallen1
2013/03/07 20:06:25
Keep a blank line. I've seen issues with patch on
| |
238 | |
239 | |
OLD | NEW |