make all .o files depend on *_impl.h and libc.h

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.
This commit is contained in:
Rich Felker 2012-05-03 20:35:11 -04:00
parent 2be87702b7
commit e765239f33
1 changed files with 3 additions and 2 deletions

View File

@ -20,6 +20,7 @@ SRCS = $(sort $(wildcard src/*/*.c))
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 =
@ -78,13 +79,13 @@ include/bits/alltypes.h: include/bits/alltypes.h.sh
%.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 $@ $<
%.lo: %.c $(GENH)
%.lo: %.c $(GENH) $(IMPH)
$(CC) $(CFLAGS_ALL_SHARED) -c -o $@ $<
lib/libc.so: $(LOBJS)