aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorinmarket <inmarket@ugfx.io>2017-06-24 17:12:42 +1000
committerinmarket <inmarket@ugfx.io>2017-06-24 17:12:42 +1000
commite5497f2ac058acb427b6fcdd15db6adeddd7bc55 (patch)
tree77fbc3d9e56f8ad92e405278832add6149a4d827 /tools
parent10f4d9f860309d654567872645aaceb100a7c2d1 (diff)
downloaduGFX-e5497f2ac058acb427b6fcdd15db6adeddd7bc55.tar.gz
uGFX-e5497f2ac058acb427b6fcdd15db6adeddd7bc55.tar.bz2
uGFX-e5497f2ac058acb427b6fcdd15db6adeddd7bc55.zip
Add support for .S files to the gcc make system
Diffstat (limited to 'tools')
-rw-r--r--tools/gmake_scripts/compiler_gcc.mk18
1 files changed, 17 insertions, 1 deletions
diff --git a/tools/gmake_scripts/compiler_gcc.mk b/tools/gmake_scripts/compiler_gcc.mk
index 23912992..07cb8ec8 100644
--- a/tools/gmake_scripts/compiler_gcc.mk
+++ b/tools/gmake_scripts/compiler_gcc.mk
@@ -215,7 +215,13 @@ ifneq ($(OPT_VERBOSE_COMPILE),yes)
ifneq ($(filter %.s,$(SRC) $(SRC_NOTHUMB) $(SRC_THUMB)),)
@echo .
@echo Assembler Options.....
- @echo $(XCC) -c $(CPPFLAGS) $(CFLAGS) $(SRCFLAGS) $(@:.o=.s) -o $(OBJDIR)/$@
+ @echo $(XAS) -c $(CPPFLAGS) $(CFLAGS) $(SRCFLAGS) $(@:.o=.s) -o $(OBJDIR)/$@
+ else
+ ifneq ($(filter %.S,$(SRC) $(SRC_NOTHUMB) $(SRC_THUMB)),)
+ @echo .
+ @echo Assembler Options.....
+ @echo $(XAS) -c $(CPPFLAGS) $(CFLAGS) $(SRCFLAGS) $(@:.o=.S) -o $(OBJDIR)/$@
+ endif
endif
ifneq ($(OPT_MAKE_LIB),yes)
@echo .
@@ -278,6 +284,16 @@ else
@$(XAS) -c $(CPPFLAGS) $(ASFLAGS) $(SRCFLAGS) $< -o $@
endif
+$(OBJDIR)/%.o : $$(call obj_src,%.S)
+ @mkdir -p $(dir $@)
+ifeq ($(OPT_VERBOSE_COMPILE),yes)
+ @echo .
+ $(XAS) -c $(CPPFLAGS) $(ASFLAGS) $(SRCFLAGS) $< -o $@
+else
+ @echo Compiling $<
+ @$(XAS) -c $(CPPFLAGS) $(ASFLAGS) $(SRCFLAGS) $< -o $@
+endif
+
$(EXEFILE): $(OBJS_THUMB) $(OBJS_NOTHUMB) $(LDSCRIPT)
@mkdir -p $(dir $@)
ifeq ($(OPT_VERBOSE_COMPILE),yes)