make all .o files depend on *_impl.h and libc.h
authorRich Felker <dalias@aerifal.cx>
Fri, 4 May 2012 00:35:11 +0000 (20:35 -0400)
committerRich Felker <dalias@aerifal.cx>
Fri, 4 May 2012 00:35:11 +0000 (20:35 -0400)
hopefully the annoyance of this will be minimal. these files all
define internal interfaces which can change at any time; if different
modules are using different versions of the interfaces, the library
will badly break. ideally we would scan and add the dependency only
for C files that actually reference the affected interfaces, but for
now, err on the side of caution and force a rebuild of everything if
any of them have changed.

this commit is in preparation for the upcoming ssp overhaul commit,
which will change internals of the pthread struct.

Makefile

index 1b9e243..4f93049 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -20,6 +20,7 @@ SRCS = $(sort $(wildcard src/*/*.c))
 OBJS = $(SRCS:.c=.o)
 LOBJS = $(OBJS:.o=.lo)
 GENH = include/bits/alltypes.h
 OBJS = $(SRCS:.c=.o)
 LOBJS = $(OBJS:.o=.lo)
 GENH = include/bits/alltypes.h
+IMPH = src/internal/stdio_impl.h src/internal/pthread_impl.h src/internal/libc.h
 
 LDFLAGS = 
 CPPFLAGS =
 
 LDFLAGS = 
 CPPFLAGS =
@@ -78,13 +79,13 @@ include/bits/alltypes.h: include/bits/alltypes.h.sh
 %.o: $(ARCH)/%.s
        $(CC) $(CFLAGS_ALL_STATIC) -c -o $@ $<
 
 %.o: $(ARCH)/%.s
        $(CC) $(CFLAGS_ALL_STATIC) -c -o $@ $<
 
-%.o: %.c $(GENH)
+%.o: %.c $(GENH) $(IMPH)
        $(CC) $(CFLAGS_ALL_STATIC) -c -o $@ $<
 
 %.lo: $(ARCH)/%.s
        $(CC) $(CFLAGS_ALL_SHARED) -c -o $@ $<
 
        $(CC) $(CFLAGS_ALL_STATIC) -c -o $@ $<
 
 %.lo: $(ARCH)/%.s
        $(CC) $(CFLAGS_ALL_SHARED) -c -o $@ $<
 
-%.lo: %.c $(GENH)
+%.lo: %.c $(GENH) $(IMPH)
        $(CC) $(CFLAGS_ALL_SHARED) -c -o $@ $<
 
 lib/libc.so: $(LOBJS)
        $(CC) $(CFLAGS_ALL_SHARED) -c -o $@ $<
 
 lib/libc.so: $(LOBJS)