Makefile.include 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. ifdef APPS
  2. APPDIRS = $(foreach APP, $(APPS), ../apps/$(APP))
  3. -include $(foreach APP, $(APPS), ../apps/$(APP)/Makefile.$(APP))
  4. CFLAGS += $(addprefix -I../apps/,$(APPS))
  5. endif
  6. ifndef CCDEP
  7. CCDEP = $(CC)
  8. endif
  9. ifndef CCDEPCFLAGS
  10. CCDEPCFLAGS = $(CFLAGS)
  11. endif
  12. ifndef OBJECTDIR
  13. OBJECTDIR = obj
  14. endif
  15. ifeq (${wildcard $(OBJECTDIR)},)
  16. DUMMY := ${shell mkdir $(OBJECTDIR)}
  17. endif
  18. vpath %.c . ../uip ../lib $(APPDIRS)
  19. $(OBJECTDIR)/%.o: %.c
  20. $(CC) $(CFLAGS) -c $< -o $@
  21. $(OBJECTDIR)/%.d: %.c
  22. @set -e; rm -f $@; \
  23. $(CCDEP) -MM $(CCDEPCFLAGS) $< > $@.$$$$; \
  24. sed 's,\($*\)\.o[ :]*,$(OBJECTDIR)/\1.o $@ : ,g' < $@.$$$$ > $@; \
  25. rm -f $@.$$$$
  26. UIP_SOURCES=uip.c uip_arp.c uiplib.c psock.c timer.c uip-neighbor.c
  27. ifneq ($(MAKECMDGOALS),clean)
  28. -include $(addprefix $(OBJECTDIR)/,$(UIP_SOURCES:.c=.d) \
  29. $(APP_SOURCES:.c=.d))
  30. endif
  31. uip.a: ${addprefix $(OBJECTDIR)/, $(UIP_SOURCES:.c=.o)}
  32. $(AR) rcf $@ $^
  33. apps.a: ${addprefix $(OBJECTDIR)/, $(APP_SOURCES:.c=.o)}
  34. $(AR) rcf $@ $^