47 lines
999 B
Makefile
47 lines
999 B
Makefile
TEST_WRAPPER =
|
|
CHRONY_SRCDIR = ../..
|
|
|
|
CC = @CC@
|
|
CFLAGS = @CFLAGS@
|
|
CPPFLAGS = -I$(CHRONY_SRCDIR) @CPPFLAGS@
|
|
LDFLAGS = @LDFLAGS@ @LIBS@ @EXTRA_LIBS@
|
|
|
|
SHARED_OBJS = test.o
|
|
|
|
TEST_OBJS := $(sort $(patsubst %.c,%.o,$(wildcard *.c)))
|
|
TESTS := $(patsubst %.o,%.test,$(filter-out $(SHARED_OBJS),$(TEST_OBJS)))
|
|
|
|
CHRONYD_OBJS := $(patsubst %.o,$(CHRONY_SRCDIR)/%.o,$(filter-out main.o,\
|
|
$(filter %.o,$(shell $(MAKE) -f $(CHRONY_SRCDIR)/Makefile print-chronyd-objects))))
|
|
|
|
all: $(TESTS)
|
|
|
|
$(CHRONYD_OBJS): ;
|
|
|
|
%.test: %.o $(SHARED_OBJS) $(CHRONYD_OBJS)
|
|
$(CC) $(CFLAGS) -o $@ $(filter-out $(CHRONY_SRCDIR)/$<,$^) $(LDFLAGS)
|
|
|
|
%.o: %.c
|
|
$(CC) $(CPPFLAGS) $(CFLAGS) -c $<
|
|
|
|
check: $(TESTS)
|
|
@ret=0; \
|
|
for t in $^; do \
|
|
$(TEST_WRAPPER) ./$$t || ret=1; \
|
|
done; \
|
|
exit $$ret
|
|
|
|
clean:
|
|
rm -f *.o *.gcda *.gcno core.* $(TESTS)
|
|
rm -rf .deps
|
|
|
|
distclean: clean
|
|
rm -f Makefile
|
|
|
|
.deps:
|
|
@mkdir .deps
|
|
|
|
.deps/%.d: %.c | .deps
|
|
@$(CC) -MM $(CPPFLAGS) -MT '$(<:%.c=%.o) $@' $< -o $@
|
|
|
|
-include $(TEST_OBJS:%.o=.deps/%.d)
|