diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2009-07-28 11:29:46 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2009-07-28 11:29:46 +0000 |
commit | 9785ccc2e942ebd0951a2104dd249f88a59d3700 (patch) | |
tree | 4bfa1a0823e5c3a7a5b29d871d815a2789d39c31 /makefiles | |
parent | b461aced47881fb1be66bac3d4e0a14b59e2cf59 (diff) | |
download | buildsystem-9785ccc2e942ebd0951a2104dd249f88a59d3700.tar.gz buildsystem-9785ccc2e942ebd0951a2104dd249f88a59d3700.tar.bz2 |
Something approximating support for assembler sources.
svn path=/trunk/tools/buildsystem/; revision=8846
Diffstat (limited to 'makefiles')
-rw-r--r-- | makefiles/Makefile.tools | 5 | ||||
-rw-r--r-- | makefiles/Makefile.top | 17 |
2 files changed, 20 insertions, 2 deletions
diff --git a/makefiles/Makefile.tools b/makefiles/Makefile.tools index 65933da..e47f48e 100644 --- a/makefiles/Makefile.tools +++ b/makefiles/Makefile.tools @@ -197,7 +197,7 @@ TOUCH ?= touch XSLTPROC ?= xsltproc ############################################################################### -# Default compiler/linker/archiver flags +# Default assembler/compiler/linker/archiver flags ############################################################################### ifeq ($(BUILD),release) @@ -211,7 +211,10 @@ ifeq ($(origin ARFLAGS),default) ARFLAGS := cru endif +ASFLAGS ?= -xassembler-with-cpp + CFLAGS := $(CFLAGS) $(OPTCFLAGS) -DBUILD_TARGET_$(TARGET) -DBUILD_HOST_$(HOST) +ASFLAGS := $(ASFLAGS) $(CFLAGS) LDFLAGS := $(LDFLAGS) $(OPTLDFLAGS) # Extensions for coverage target diff --git a/makefiles/Makefile.top b/makefiles/Makefile.top index 2d84a7b..df1ff9b 100644 --- a/makefiles/Makefile.top +++ b/makefiles/Makefile.top @@ -168,7 +168,8 @@ $(eval $(foreach INC, $(MAKE_INCLUDES), $(call do_include,$(INC)))) # Calculate objects to build OBJECTS := $(addprefix $(BUILDDIR)/,$(filter %.o, \ $(subst /,_,$(subst .c,.o,$(SOURCES))) \ - $(subst /,_,$(subst .cmhg,.o,$(SOURCES))))) + $(subst /,_,$(subst .cmhg,.o,$(SOURCES))) \ + $(subst /,_,$(subst .s,.o,$(SOURCES))))) bin_for_test = $(addprefix $(BUILDDIR)/,$(firstword $(subst :, ,$(ITEM)))) TEST_BINARIES := $(foreach ITEM,$(TEST_ITEMS),$(bin_for_test)) @@ -444,7 +445,18 @@ define build_cmhg endef +define build_s + ifeq ($$(findstring $$(BUILDDIR)/$2,$$(BUILDFILES)),) + $$(BUILDDIR)/$2: $$(BUILDDIR)/stamp $1 + $$(VQ)$$(ECHO) $$(ECHOFLAGS) "ASSEMBLE: $1" + $$(Q)$$(CC) $$($3) $1 -c -o $$@ + BUILDFILES += $$(BUILDDIR)/$2 + endif + +endef + BUILDCFLAGS = $(CFLAGS) $(SHAREDCFLAGS) +BUILDASFLAGS = $(ASFLAGS) $(SHAREDCFLAGS) # Generate dependency rules $(eval $(foreach SOURCE,$(filter %.c,$(SOURCES)), \ @@ -457,6 +469,9 @@ $(eval $(foreach SOURCE,$(filter %.c,$(SOURCES)), \ $(eval $(foreach SOURCE,$(filter %.cmhg,$(SOURCES)), \ $(call build_cmhg,$(SOURCE),$(subst /,_,$(SOURCE:.cmhg=.o))))) +$(eval $(foreach SOURCE,$(filter %.s,$(SOURCES)), \ + $(call build_s,$(SOURCE),$(subst /,_,$(SOURCE:.s=.o)),BUILDASFLAGS))) + # Similarly for test sources ifeq ($(WANT_TEST),yes) ifeq ($(findstring lib,$(COMPONENT_TYPE)),lib) |