########################################
# Build Environment
# version and build configuration

# user symbols
OPTIONS=

# dependency paths

# build directories
OUTPUT_DIR=.
BUILD_DIR=.

# compilation
DOXYGEN = doxygen

########################################
# Target Definitions

# doxygen : auto doc generation
DOXYFILE=Doxyfile
DOXYGEN_DIR=$(OUTPUT_DIR)/doxygen.out

########################################
# Build Files (mostly for cleanup)
SOURCES =
OBJECTS =
DEPENDS =
BINARIES =
CLEANUP = gmon.out

########################################
# Rules: build targets

all: doxygen

.PHONY: doxygen

# build doxygen documentation
doxygen: $(DOXYFILE)
	@echo building $@...
	mkdir -p $(DOXYGEN_DIR)
	$(DOXYGEN) $^

########################################
# Rules:

# clean : delete object, dependency, binary files
.PHONY: clean
clean:
	rm -rf $(DOXYGEN_DIR)

# purge : delete delete object, dependency, binary files, build directories
.PHONY: purge
purge:
	rm -rf $(DOXYGEN_DIR)

# include the dependencies
ifneq ($(MAKECMDGOALS),purge)
ifneq ($(MAKECMDGOALS),clean)
-include $(DEPENDS)
endif
endif
