
#  RDFInt.php - RDF Interfaces for PHP
#  Copyright 2011 netlabs.org
#  Author: Christian Langanke, Adrian Gschwend
#
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.

# CONFIGURE HERE

LIBNAME=rdfint.php
LIBROOT=..
OUTPUTDIR=doc
SOURCEFILES=*.php
SOURCEFILES_EXCLUDE=*/.svn/* *unittest/* */fdebug.php

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

# determine os dependent values
ifeq ($(OS), Windows_NT)
CAT=type
CP=copy
RM=del
RMDIR=rd /s /q
NUL=NUL
LAUNCH=cscript /nologo doclaunch.vbs
else
CAT=cat
CP=cp
RM=rm
RMDIR=rm -rf
NUL=/dev/null
LAUNCH=firefox
endif

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

# defaults
ifeq ($(OS), Windows_NT)
CONFIGFILE:=$(TEMP)\doxygen_$(LIBNAME).cfg
else
CONFIGFILE:=/tmp/doxygen_$(LIBNAME).cfg
endif

OUTPUTFILE=$(OUTPUTDIR)/html/index.html

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

# --- phony targets

.PHONY: help all launch showcfg clean

help:
	@$(CAT) help.txt

all: $(OUTPUTFILE)
	@$(LAUNCH) $(OUTPUTFILE)

showcfg:  $(CONFIGFILE)
	@echo doxygen configuration file: $(CONFIGFILE)
	@echo -------------------------------------------------------
	@$(CAT) $(CONFIGFILE)

clean:
	@echo cleaning up
	-@$(RM) $(CONFIGFILE) 2>$(NUL)
	-@$(RMDIR) $(OUTPUTDIR) 2>$(NUL)

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

# --- dependencies

$(OUTPUTFILE): $(CONFIGFILE)
	@doxygen $(CONFIGFILE)

$(CONFIGFILE):
	@echo PROJECT_NAME=$(LIBNAME)> $(CONFIGFILE)
	@echo OUTPUT_DIRECTORY=$(OUTPUTDIR)>> $(CONFIGFILE)
	@echo FULL_PATH_NAMES=NO>> $(CONFIGFILE)
	@echo INPUT=$(LIBROOT)>> $(CONFIGFILE)
	@echo FILE_PATTERNS=$(SOURCEFILES)>> $(CONFIGFILE)
	@echo RECURSIVE=YES>> $(CONFIGFILE)
	@echo EXCLUDE_PATTERNS=$(SOURCEFILES_EXCLUDE)>> $(CONFIGFILE)
	@echo GENERATE_HTML=YES>> $(CONFIGFILE)
	@echo GENERATE_LATEX=no>> $(CONFIGFILE)
	@echo SORT_MEMBER_DOCS=no>> $(CONFIGFILE)
