]> git.sur5r.net Git - cc65/commitdiff
Added a makefile dependency for the libraries' "extra" files.
authorGreg King <gregdk@users.sf.net>
Wed, 28 Jun 2017 09:51:46 +0000 (05:51 -0400)
committerGreg King <gregdk@users.sf.net>
Wed, 28 Jun 2017 09:51:46 +0000 (05:51 -0400)
Some of the files in "libsrc/*/extra/" include other library files.  But, the "lib/*.o" files weren't rebuilt when those other files changed.

The new dependency rules must be "bootstrapped".  You must force a rebuild of all of the extra library object files (it will create the dependency files).  Use these commands:

rm lib/*.o
make lib

libsrc/Makefile

index f4aa031014f54e6bf6e402e897d94435960a746b..e106aa239e079ba9d0fc023504d44e3a09c9df92 100644 (file)
@@ -196,6 +196,7 @@ DEPS = $(OBJS:.o=.d)
 EXTRA_SRCPAT = $(SRCDIR)/extra/%.s
 EXTRA_OBJPAT = ../lib/$(TARGET)-%.o
 EXTRA_OBJS := $(patsubst $(EXTRA_SRCPAT),$(EXTRA_OBJPAT),$(wildcard $(SRCDIR)/extra/*.s))
+DEPS += $(EXTRA_OBJS:../lib/%.o=../libwrk/$(TARGET)/%.d)
 
 ZPOBJ = ../libwrk/$(TARGET)/zeropage.o
 ifeq ($(TARGET),$(filter $(TARGET),$(EXTZP)))
@@ -281,7 +282,7 @@ endef # COMPILE_recipe
 
 $(EXTRA_OBJPAT): $(EXTRA_SRCPAT) | ../lib
        @echo $(TARGET) - $(<F)
-       @$(CA65) -t $(TARGET) $(CA65FLAGS) -o $@ $<
+       @$(CA65) -t $(TARGET) $(CA65FLAGS) --create-dep $(@:../lib/%.o=../libwrk/$(TARGET)/%.d) -o $@ $<
 
 ../lib/$(TARGET).lib: $(OBJS) | ../lib
        $(AR65) a $@ $?