Enhancement: Makefile generates dependency information
Purpose: To save compile time when editing header files
Provided by: Eloi@EoD
Applies to: SmaugFUSS, SWRFUSS, SWFOTEFUSS
---
This enhancement requires the existance of the makedepend command. Make sure you have it.
Makefile
Locate:
all:
$(MAKE) -s smaug
Change to:
all: .depend
$(MAKE) -s smaug
Locate:
.c.o: mud.h
$(CC) -c $(C_FLAGS) $<
Below that, add:
# Funky "if exists.." stuff could be put here. I'm cheating. :-D
.depend:
@rm -f .depend
@touch .depend
@makedepend -po/ -f .depend $(C_FILES) > /dev/null 2>&1
# Include the generated file.
include .depend
This addition will cause the Makefile to create a dependency file for the compiler. If an H file is edited, the compiler will only recompile those files that H file affects. For the most part this isn't going to be of any great value since 99% of the time it will be mud.h that's edited and practically all files depend on it. But should new H files be added that only certain files will be including then this can cut your compiling time down by quite a bit.
One thing to be aware of, alot of times the Makefile will be expecting tabs instead of spaces, so if you apply this and something doesn't work, try tabs instead, like in front of the 3 commands in the .depend section this is adding.