Makefile 993 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. CC = gcc
  2. CFLAGS =
  3. INCLUDES = -I.
  4. LDFLAGS = -L$(BUILDDIR)/cgreen/build-c/src -shared
  5. LDLIBS = -lcgreen
  6. UNITOBJ = $(BUILDDIR)/serialtest/unitobj
  7. DEPDIR = $(BUILDDIR)/serialtest/unit.d
  8. UNITTESTS = $(BUILDDIR)/serialtest/unittests
  9. DEPFLAGS = -MT $@ -MMD -MP -MF $(DEPDIR)/$*.Td
  10. EXT = .so
  11. UNAME := $(shell uname)
  12. ifneq (, $(findstring MINGW, $(UNAME)))
  13. EXT = .dll
  14. endif
  15. ifneq (, $(findstring CYGWIN, $(UNAME)))
  16. EXT = .dll
  17. endif
  18. SRC = $(wildcard *.c)
  19. TESTFILES = $(patsubst %.c, $(UNITTESTS)/%$(EXT), $(SRC))
  20. $(shell mkdir -p $(DEPDIR) >/dev/null)
  21. test: $(TESTFILES)
  22. @$(BUILDDIR)/cgreen/build-c/tools/cgreen-runner --color $(TESTFILES)
  23. $(UNITTESTS)/%$(EXT): $(UNITOBJ)/%.o
  24. mkdir -p $(UNITTESTS)
  25. $(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS)
  26. $(UNITOBJ)/%.o : %.c
  27. $(UNITOBJ)/%.o: %.c $(DEPDIR)/%.d
  28. mkdir -p $(UNITOBJ)
  29. $(CC) $(CFLAGS) $(DEPFLAGS) -c $< -o $@
  30. mv -f $(DEPDIR)/$*.Td $(DEPDIR)/$*.d
  31. $(DEPDIR)/%.d: ;
  32. .PRECIOUS: $(DEPDIR)/%.d
  33. -include $(patsubst %,$(DEPDIR)/%.d,$(basename $(SRC).c))