diff options
Diffstat (limited to 'apps/plugins/plugins.make')
| -rw-r--r-- | apps/plugins/plugins.make | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/apps/plugins/plugins.make b/apps/plugins/plugins.make index c6c399d..0f6804d 100644 --- a/apps/plugins/plugins.make +++ b/apps/plugins/plugins.make @@ -17,6 +17,10 @@ ROCKS := $(subst $(ROOTDIR),$(BUILDDIR),$(ROCKS)) PLUGINLIB := $(BUILDDIR)/apps/plugins/libplugin.a PLUGINLIB_SRC = $(call preprocess, $(APPSDIR)/plugins/lib/SOURCES) OTHER_SRC += $(PLUGINLIB_SRC) +# include gcc-support routines for linking first if in SOURCES +ifneq "$(findstring gcc-support.c,$(PLUGINLIB_SRC))" "" +GCCSUPPORT_OBJ := $(BUILDDIR)/apps/plugins/lib/gcc-support.o +endif PLUGINLIB_OBJ := $(PLUGINLIB_SRC:.c=.o) PLUGINLIB_OBJ := $(PLUGINLIB_OBJ:.S=.o) @@ -70,7 +74,7 @@ else PLUGINLDFLAGS = -T$(PLUGINLINK_LDS) -Wl,--gc-sections -Wl,-Map,$*.map endif -$(BUILDDIR)/%.rock: $(BUILDDIR)/%.o $(PLUGINLINK_LDS) +$(BUILDDIR)/%.rock: $(GCCSUPPORT_OBJ) $(BUILDDIR)/%.o $(PLUGINLINK_LDS) $(call PRINTS,LD $(@F))$(CC) $(PLUGINFLAGS) -o $(BUILDDIR)/$*.elf \ $(filter %.o, $^) \ $(filter %.a, $^) \ |