# 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 LIBDESCRIPTION=RDF Interfaces for PHP LIBROOT=.. OUTPUTDIR=doc SOURCEFILES=*.php SOURCEFILES_EXCLUDE=*/.svn/* */classes/Core.php */unittest/* */samples/* */fdebug.php */doxygen/doc/* EXAMPLE_PATH=.. SOURCE_DEPENDENCIES=../LICENSE-2.0.txt ../classes/* # SHIP*: mind the trailing slash !!! SHIPDIR=https://webdav.netlabs.org/developer/rdfint.php/ SHIPSUBDIR=$(SHIPDIR)search/ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # 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 DATE=$(shell echo %DATE%) MORE=cmd /c start notepad else CAT=cat CP=cp RM=rm RMDIR=rm -rf NUL=/dev/null LAUNCH=firefox DATE=$(shell date +%d.%m.%Y) MORE=less endif # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # determine automatic values # use branch name as version CURRDIR=$(abspath ..) CURRDIR_LIST=$(subst /, , ${CURRDIR}) LIBVERSION=$(lastword ${CURRDIR_LIST}) # extrat year from date DATE_LIST=$(subst ., , ${DATE}) LIBYEAR=$(lastword ${DATE_LIST}) # determine user for shipping ifeq ($(CURL_USER),) CURL_USER=$(USERNAME) endif ifneq ($(CURL_PASSWORD),) CURL_USER:=$(CURL_USER):$(CURL_PASSWORD) endif CFGFILE=cfg # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # library specific defaults ifeq ($(OS), Windows_NT) DOXYGENCFG:=$(TEMP)\doxygen_$(LIBNAME).cfg SHIPFILES=$(OUTPUTDIR)\html\* SHIPFILES_SEARCH=$(OUTPUTDIR)\html\search\* CURLCFG_SHIP_CLEAN:=$(TEMP)\curl_ship_clean_$(LIBNAME).cfg CURLCFG_SHIP_INIT:=$(TEMP)\curl_ship_init_$(LIBNAME).cfg CURLCFG_SHIP_UPLOAD:=$(TEMP)\curl_ship_upload_$(LIBNAME).cfg CURLLOG_SHIP:=$(TEMP)\curl_log_$(LIBNAME).txt else DOXYGENCFG:=/tmp/doxygen_$(LIBNAME).cfg SHIPFILES=$(OUTPUTDIR)/html/* SHIPFILES_SEARCH=$(OUTPUTDIR)/html/search/* CURLCFG_SHIP_CLEAN:=/tmp/curl_ship_clean_$(LIBNAME).cfg CURLCFG_SHIP_INIT:=/tmp/curl_ship_init_$(LIBNAME).cfg CURLCFG_SHIP_UPLOAD:=/tmp/curl_ship_upload_$(LIBNAME).cfg CURLLOG_SHIP:=/tmp/curl_log_$(LIBNAME).cfg endif OUTPUTFILE=$(OUTPUTDIR)/html/index.html # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # --- phony targets .PHONY: help all launch ship showcfg clean again curlcfg curllog help: @$(CAT) help.txt all: $(OUTPUTFILE) launch: all @$(LAUNCH) $(OUTPUTFILE) & ship: $(OUTPUTFILE) $(CURLCFG_SHIP_CLEAN) $(CURLCFG_SHIP_INIT) $(CURLCFG_SHIP_UPLOAD) -@echo Shipping documentation to: $(SHIPDIR) -@echo cleaning up... -@curl --config $(CURLCFG_SHIP_CLEAN) >$(CURLLOG_SHIP) 2>&1 -@echo initializing... -@curl --config $(CURLCFG_SHIP_INIT) >>$(CURLLOG_SHIP) 2>&1 -@echo uploading... -@curl --config $(CURLCFG_SHIP_UPLOAD) >>$(CURLLOG_SHIP) 2>&1 -@echo done. showcfg: $(DOXYGENCFG) @echo $(DOXYGENCFG) @echo ------------------------------------------------------- @$(CAT) $(DOXYGENCFG) clean: @echo cleaning up -@$(RM) $(DOXYGENCFG) $(CURLCFG_SHIP_CLEAN) $(CURLCFG_SHIP_INIT) $(CURLCFG_SHIP_UPLOAD) $(CURLLOG_SHIP) 2>$(NUL) -@$(RMDIR) $(OUTPUTDIR) 2>$(NUL) again: clean all curlcfg: $(CURLCFG_SHIP_CLEAN) $(CURLCFG_SHIP_INIT) $(CURLCFG_SHIP_UPLOAD) @$(MORE) $(CURLCFG_SHIP_CLEAN) @$(MORE) $(CURLCFG_SHIP_INIT) @$(MORE) $(CURLCFG_SHIP_UPLOAD) curllog: @$(MORE) $(CURLLOG_SHIP) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # --- generate HTML help with doxygen $(OUTPUTFILE): $(DOXYGENCFG) $(SOURCE_DEPENDENCIES) makefile @doxygen $(DOXYGENCFG) >$(NUL) # --- generate doxygen configuration file $(DOXYGENCFG): makefile @echo PROJECT_NAME=$(LIBNAME)> $(DOXYGENCFG) @echo OUTPUT_DIRECTORY=$(OUTPUTDIR)>> $(DOXYGENCFG) @echo FULL_PATH_NAMES=NO>> $(DOXYGENCFG) @echo INPUT=$(LIBROOT)>> $(DOXYGENCFG) @echo FILE_PATTERNS=$(SOURCEFILES)>> $(DOXYGENCFG) @echo RECURSIVE=YES>> $(DOXYGENCFG) @echo EXCLUDE_PATTERNS=$(SOURCEFILES_EXCLUDE)>> $(DOXYGENCFG) @echo GENERATE_HTML=YES>> $(DOXYGENCFG) @echo GENERATE_LATEX=no>> $(DOXYGENCFG) @echo SORT_MEMBER_DOCS=no>> $(DOXYGENCFG) @echo EXAMPLE_PATH=$(EXAMPLE_PATH)>> $(DOXYGENCFG) @echo HTML_HEADER=custom_header.html>> $(DOXYGENCFG) @echo HTML_FOOTER=custom_footer.html>> $(DOXYGENCFG) @echo HTML_STYLESHEET=custom_doxygen.css>> $(DOXYGENCFG) ifeq ($(OS), Windows_NT) @echo ALIASES+=libname="\c $(LIBNAME)">> $(DOXYGENCFG) @echo ALIASES+=libname_lit="$(LIBNAME)">> $(DOXYGENCFG) @echo ALIASES+=libdescription="$(LIBDESCRIPTION)">> $(DOXYGENCFG) @echo ALIASES+=libversion="$(LIBVERSION)">> $(DOXYGENCFG) @echo ALIASES+=libyear="$(LIBYEAR)">> $(DOXYGENCFG) @echo ALIASES+=htmllink{1}="\1">> $(DOXYGENCFG) @echo ALIASES+=htmllink{2}="\2">> $(DOXYGENCFG) @echo ALIASES+=htmllinkext{1}="\1">> $(DOXYGENCFG) @echo ALIASES+=htmllinkext{2}="\2">> $(DOXYGENCFG) @echo ALIASES+=desctable="">> $(DOXYGENCFG) @echo ALIASES+=desc{2}="">> $(DOXYGENCFG) @echo ALIASES+=enddesctable="
\1\2
">> $(DOXYGENCFG) else @echo ALIASES+=libname=\""\\\\c $(LIBNAME)\"">> $(DOXYGENCFG) @echo ALIASES+=libname_lit="$(LIBNAME)">> $(DOXYGENCFG) @echo ALIASES+=libdescription=\"$(LIBDESCRIPTION)\">> $(DOXYGENCFG) @echo ALIASES+=libversion=\"$(LIBVERSION)\">> $(DOXYGENCFG) @echo ALIASES+=libyear=\"$(LIBYEAR)\">> $(DOXYGENCFG) @echo ALIASES+=htmllink{1}=\""\\\\1\"">> $(DOXYGENCFG) @echo ALIASES+=htmllink{2}=\""\\\\2\"">> $(DOXYGENCFG) @echo ALIASES+=htmllinkext{1}=\""\\\\1\"">> $(DOXYGENCFG) @echo ALIASES+=htmllinkext{2}=\""\\\\2\"">> $(DOXYGENCFG) @echo ALIASES+=desctable=\""\"">> $(DOXYGENCFG) @echo ALIASES+=desc{2}=\""\"">> $(DOXYGENCFG) @echo ALIASES+=enddesctable=\""
\\\\1\\\\2
\"">> $(DOXYGENCFG) endif # --- generate curl configuration file with DELETE request # remove directories with files $(CURLCFG_SHIP_CLEAN): makefile @echo fail>$(CURLCFG_SHIP_CLEAN) @echo insecure>>$(CURLCFG_SHIP_CLEAN) @echo user=$(CURL_USER)>>$(CURLCFG_SHIP_CLEAN) @echo silent>>$(CURLCFG_SHIP_CLEAN) @echo verbose>>$(CURLCFG_SHIP_CLEAN) @echo request=DELETE>>$(CURLCFG_SHIP_CLEAN) @echo url=$(SHIPSUBDIR)>>$(CURLCFG_SHIP_CLEAN) @echo url=$(SHIPDIR)>>$(CURLCFG_SHIP_CLEAN) # --- generate curl configuration file with MKCOL request # create directories $(CURLCFG_SHIP_INIT): makefile @echo fail>$(CURLCFG_SHIP_INIT) @echo insecure>>$(CURLCFG_SHIP_INIT) @echo user=$(CURL_USER)>>$(CURLCFG_SHIP_INIT) @echo silent>>$(CURLCFG_SHIP_INIT) @echo verbose>>$(CURLCFG_SHIP_INIT) @echo request=MKCOL>>$(CURLCFG_SHIP_INIT) @echo url=$(SHIPDIR)>>$(CURLCFG_SHIP_INIT) @echo url=$(SHIPSUBDIR)>>$(CURLCFG_SHIP_INIT) # --- generate curl configuration file with upload request # upload files $(CURLCFG_SHIP_UPLOAD): makefile @echo fail>$(CURLCFG_SHIP_UPLOAD) @echo insecure>>$(CURLCFG_SHIP_UPLOAD) @echo user=$(CURL_USER)>>$(CURLCFG_SHIP_UPLOAD) @echo silent>>$(CURLCFG_SHIP_UPLOAD) @echo verbose>>$(CURLCFG_SHIP_UPLOAD) ifeq ($(OS), Windows_NT) -@for %%f in ($(SHIPFILES)) do (echo url=$(SHIPDIR) >>$(CURLCFG_SHIP_UPLOAD) & echo upload=%%f >>$(CURLCFG_SHIP_UPLOAD)) -@for %%f in ($(SHIPFILES_SEARCH)) do (echo url=$(SHIPSUBDIR) >>$(CURLCFG_SHIP_UPLOAD) & echo upload=%%f >>$(CURLCFG_SHIP_UPLOAD)) else -@echo $(SHIPFILES) -@for f in $(SHIPFILES); do echo url=$(SHIPDIR) >>$(CURLCFG_SHIP_UPLOAD); echo upload=$$f >>$(CURLCFG_SHIP_UPLOAD); done -@for f in $(SHIPFILES_SEARCH); do echo url=$(SHIPSUBDIR) >>$(CURLCFG_SHIP_UPLOAD); echo upload=$$f >>$(CURLCFG_SHIP_UPLOAD); done endif