Chromium Code Reviews| Index: native_client_sdk/src/tools/nacl_gcc.mk |
| diff --git a/native_client_sdk/src/tools/nacl_gcc.mk b/native_client_sdk/src/tools/nacl_gcc.mk |
| index ddff452495b6080f4e69b80d46d9c6b5c9062875..e98c686f8d787886ebcf5ff23611111169a19aa9 100644 |
| --- a/native_client_sdk/src/tools/nacl_gcc.mk |
| +++ b/native_client_sdk/src/tools/nacl_gcc.mk |
| @@ -41,33 +41,43 @@ ARM_LIB?=$(TC_PATH)/$(OSNAME)_arm_$(TOOLCHAIN)/bin/arm-nacl-ar |
| # |
| +# Convert a source path to a object file path |
| +# |
| +# $1 = Source Name |
| +# $2 = Arch sufffix |
|
binji
2013/03/05 01:04:58
sp: suffix
Sam Clegg
2013/03/05 20:05:40
Done.
|
| +# |
| +define SRC_TO_OBJ |
| +$(OUTDIR)/$(basename $(subst ..,__,$(1)))_$(2).o |
| +endef |
| + |
| + |
| +# |
| # Compile Macro |
| # |
| # $1 = Source Name |
| # $2 = Compile Flags |
| # |
| - |
| define C_COMPILER_RULE |
| -include $(OUTDIR)/$(basename $(1))_*.d |
| -$(OUTDIR)/$(basename $(1))_x86_32.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basename $(1)))dir.stamp |
| +$(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.
|
| $(call LOG,CC,$$@,$(X86_32_CC) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_CFLAGS)) |
| -$(OUTDIR)/$(basename $(1))_x86_64.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basename $(1)))dir.stamp |
| +$(call SRC_TO_OBJ,$(1),x86_64): $(1) $(TOP_MAKE) | $(call SRC_TO_OBJ,$(1),x86_64)dir.stamp |
| $(call LOG,CC,$$@,$(X86_64_CC) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_CFLAGS)) |
| -$(OUTDIR)/$(basename $(1))_arm.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basename $(1)))dir.stamp |
| +$(call SRC_TO_OBJ,$(1),arm): $(1) $(TOP_MAKE) | $(call SRC_TO_OBJ,$(1),arm)dir.stamp |
| $(call LOG,CC,$$@,$(ARM_CC) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_CFLAGS)) |
| endef |
| define CXX_COMPILER_RULE |
| -include $(OUTDIR)/$(basename $(1))_*.d |
| -$(OUTDIR)/$(basename $(1))_x86_32.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basename $(1)))dir.stamp |
| +$(call SRC_TO_OBJ,$(1),x86_32): $(1) $(TOP_MAKE) | $(call SRC_TO_OBJ,$(1),x86_32)dir.stamp |
| $(call LOG,CXX,$$@,$(X86_32_CXX) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_CXXFLAGS)) |
| -$(OUTDIR)/$(basename $(1))_x86_64.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basename $(1)))dir.stamp |
| +$(call SRC_TO_OBJ,$(1),x86_64): $(1) $(TOP_MAKE) | $(call SRC_TO_OBJ,$(1),x86_64)dir.stamp |
| $(call LOG,CXX,$$@,$(X86_64_CXX) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_CXXFLAGS)) |
| -$(OUTDIR)/$(basename $(1))_arm.o : $(1) $(TOP_MAKE) | $(dir $(OUTDIR)/$(basename $(1)))dir.stamp |
| +$(call SRC_TO_OBJ,$(1),arm): $(1) $(TOP_MAKE) | $(call SRC_TO_OBJ,$(1),arm)dir.stamp |
| $(call LOG,CXX,$$@,$(ARM_CXX) -o $$@ -c $$< $(POSIX_FLAGS) $(2) $(NACL_CXXFLAGS)) |
| endef |
| @@ -100,11 +110,11 @@ endef |
| GLIBC_REMAP:= |
| define SO_RULE |
| NMF_TARGETS+=$$(OUTDIR)/$(1)_x86_32.so |
| -$(OUTDIR)/$(1)_x86_32.so : $(foreach src,$(2),$(OUTDIR)/$(basename $(src))_x86_32.o) $(4) |
| +$(OUTDIR)/$(1)_x86_32.so : $(foreach src,$(2),$(call SRC_TO_OBJ,$(src),x86_32) $(4) |
| $(call LOG,LINK,$$@,$(X86_32_LINK) -o $$@ $$(filter-out $(4),$$^) -shared -m32 $$(LD_X86_32) $$(LD_FLAGS) $(foreach lib,$(3),-l$(lib))) |
| NMF_TARGETS+=$(OUTDIR)/$(1)_x86_64.so |
| -$(OUTDIR)/$(1)_x86_64.so : $(foreach src,$(2),$$(OUTDIR)/$(basename $(src))_x86_64.o) $(4) |
| +$(OUTDIR)/$(1)_x86_64.so : $(foreach src,$(2),$(call SRC_TO_OBJ,$(src)),x86_64) $(4) |
| $(call LOG,LINK,$$@,$(X86_32_LINK) -o $$@ $$(filter-out $(4),$$^) -shared -m64 $(LD_X86_64) $$(LD_FLAGS) $(foreach lib,$(3),-l$(lib))) |
| ifneq (1,$(5)) |
| @@ -136,23 +146,24 @@ $(STAMPDIR)/$(1).stamp : |
| @echo "TOUCHED $$@" > $(STAMPDIR)/$(1).stamp |
| all: $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_32/$(CONFIG)/lib$(1).a |
| -$(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_32/$(CONFIG)/lib$(1).a : $(foreach src,$(2),$(OUTDIR)/$(basename $(src))_x86_32.o) |
| +$(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_32/$(CONFIG)/lib$(1).a : $(foreach src,$(2),$(call SRC_TO_OBJ,$(src),x86_32)) |
| $(MKDIR) -p $$(dir $$@) |
| $(call LOG,LIB,$$@,$(X86_32_LIB) -r $$@ $$^) |
| all: $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_64/$(CONFIG)/lib$(1).a |
| -$(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_64/$(CONFIG)/lib$(1).a : $(foreach src,$(2),$(OUTDIR)/$(basename $(src))_x86_64.o) |
| +$(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_x86_64/$(CONFIG)/lib$(1).a : $(foreach src,$(2),$(call SRC_TO_OBJ,$(src),x86_64)) |
| $(MKDIR) -p $$(dir $$@) |
| $(call LOG,LIB,$$@,$(X86_64_LIB) -r $$@ $$^) |
| ifneq ('glibc','$(TOOLCHAIN)') |
| all: $(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_arm/$(CONFIG)/lib$(1).a |
| endif |
| -$(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_arm/$(CONFIG)/lib$(1).a : $(foreach src,$(2),$(OUTDIR)/$(basename $(src))_arm.o) |
| +$(NACL_SDK_ROOT)/lib/$(TOOLCHAIN)_arm/$(CONFIG)/lib$(1).a : $(foreach src,$(2),$(call SRC_TO_OBJ,$(src),arm)) |
| $(MKDIR) -p $$(dir $$@) |
| $(call LOG,LIB,$$@,$(ARM_LIB) -r $$@ $$^) |
| endef |
| + |
| # |
| # Specific Link Macro |
| # |
| @@ -164,13 +175,13 @@ endef |
| # $6 = Library Paths |
| # |
| define LINKER_RULE |
| -$(OUTDIR)/$(1)_x86_32.nexe : $(foreach src,$(2),$(OUTDIR)/$(basename $(src))_x86_32.o) $(foreach dep,$(4),$(STAMPDIR)/$(dep).stamp) |
| +$(OUTDIR)/$(1)_x86_32.nexe : $(foreach src,$(2),$(call SRC_TO_OBJ,$(src),x86_32)) $(foreach dep,$(4),$(STAMPDIR)/$(dep).stamp) |
| $(call LOG,LINK,$$@,$(X86_32_LINK) -o $$@ $$(filter %.o,$$^) $(NACL_LDFLAGS) $(foreach path,$(6),-L$(path)/$(TOOLCHAIN)_x86_32/$(CONFIG)) $(foreach lib,$(3),-l$(lib)) $(5)) |
| -$(OUTDIR)/$(1)_x86_64.nexe : $(foreach src,$(2),$$(OUTDIR)/$(basename $(src))_x86_64.o) $(foreach dep,$(4),$(STAMPDIR)/$(dep).stamp) |
| +$(OUTDIR)/$(1)_x86_64.nexe : $(foreach src,$(2),$(call SRC_TO_OBJ,$(src),x86_64)) $(foreach dep,$(4),$(STAMPDIR)/$(dep).stamp) |
| $(call LOG,LINK,$$@,$(X86_64_LINK) -o $$@ $$(filter %.o,$$^) $(NACL_LDFLAGS) $(foreach path,$(6),-L$(path)/$(TOOLCHAIN)_x86_64/$(CONFIG)) $(foreach lib,$(3),-l$(lib)) $(5)) |
| -$(OUTDIR)/$(1)_arm.nexe : $(foreach src,$(2),$(OUTDIR)/$(basename $(src))_arm.o) $(foreach dep,$(4),$(STAMPDIR)/$(dep).stamp) |
| +$(OUTDIR)/$(1)_arm.nexe : $(foreach src,$(2),$(call SRC_TO_OBJ,$(src),arm)) $(foreach dep,$(4),$(STAMPDIR)/$(dep).stamp) |
| $(call LOG,LINK,$$@,$(ARM_LINK) -o $$@ $$(filter %.o,$$^) $(NACL_LDFLAGS) $(foreach path,$(6),-L$(path)/$(TOOLCHAIN)_arm/$(CONFIG)) $(foreach lib,$(3),-l$(lib)) $(5)) |
| endef |
| @@ -235,5 +246,3 @@ all:$(OUTDIR)/$(1).nmf |
| $(OUTDIR)/$(1).nmf : $(foreach arch,$(NMF_ARCHES),$(OUTDIR)/$(1)$(arch)) $(GLIBC_SO_LIST) |
| $(call LOG,CREATE_NMF,$$@,$(NMF) -o $$@ $$^ -D $(GLIBC_DUMP) $(GLIBC_PATHS) -s $(OUTDIR) $(2) $(GLIBC_REMAP)) |
| endef |
| - |
| - |