diff --git a/.gitignore b/.gitignore index a007392e..3b9d7d07 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,7 @@ *lwip_unittests.xml *.suo *.log -.depend +.depend* /.vscode/ipch diff --git a/contrib/ports/unix/check/Makefile b/contrib/ports/unix/check/Makefile index 01a6d05e..4200c368 100644 --- a/contrib/ports/unix/check/Makefile +++ b/contrib/ports/unix/check/Makefile @@ -57,22 +57,28 @@ TESTDIR=$(LWIPDIR)/../test/unit include $(TESTDIR)/Filelists.mk TESTOBJS=$(notdir $(TESTFILES:.c=.o)) +DEPFILES=.depend_test .depend_lwip .depend_app + clean: - @rm -f *.o $(LWIPLIBCOMMON) $(APPLIB) lwip_unittests *.s .depend* *.core core lwip_unittests.xml + @rm -f *.o $(LWIPLIBCOMMON) $(APPLIB) lwip_unittests *.s $(DEPFILES) *.core core lwip_unittests.xml -depend dep: .depend +depend dep: $(DEPFILES) -include .depend +include $(DEPFILES) -.depend: $(LWIPFILES) $(APPFILES) $(TESTFILES) - $(CCDEP) $(CFLAGS) -MM $^ > .depend || rm -f .depend +.depend_test: $(TESTFILES) + $(CCDEP) $(CFLAGS) -MM $^ > .depend_test || rm -f .depend_test +.depend_lwip: $(LWIPFILES) + $(CCDEP) $(CFLAGS) -MM $^ > .depend_lwip || rm -f .depend_lwip +.depend_app: $(APPFILES) + $(CCDEP) $(CFLAGS) -MM $^ > .depend_app || rm -f .depend_app ifneq ($(UNAME_S),Darwin) # clang on Darwin doesn't support --start-group -lwip_unittests: .depend $(TESTOBJS) $(LWIPLIBCOMMON) $(APPLIB) +lwip_unittests: $(DEPFILES) $(TESTOBJS) $(LWIPLIBCOMMON) $(APPLIB) $(CC) $(CFLAGS) -o lwip_unittests $(TESTOBJS) -Wl,--start-group $(LWIPLIBCOMMON) $(APPLIB) $(LDFLAGS) -Wl,--end-group else -lwip_unittests: .depend $(TESTOBJS) $(LWIPLIBCOMMON) $(APPLIB) +lwip_unittests: $(DEPFILES) $(TESTOBJS) $(LWIPLIBCOMMON) $(APPLIB) $(CC) $(CFLAGS) -o lwip_unittests $(TESTOBJS) $(LWIPLIBCOMMON) $(APPLIB) $(LDFLAGS) endif