SHELL=/bin/sh PACKAGE_TARNAME=@PACKAGE_TARNAME@ PACKAGE_NAME=@PACKAGE_NAME@ PACKAGE_VERSION=@PACKAGE_VERSION@ prefix=@prefix@ exec_prefix=@exec_prefix@ bindir=@bindir@ HTTPD_CONFIG_PATH=@httpd_config_path@ ICINGAWEB_CONFIG_PATH=@icingaweb_config_path@ ICINGAWEB_LOG_PATH=@icingaweb_log_path@ INSTALL=@INSTALL@ INSTALL_OPTS=@INSTALL_OPTS@ INSTALL_OPTS_WEB=@INSTALL_OPTS_WEB@ default: @echo "IcingaWeb make targets: " @printf "%b" " -install:\t\t\tInstall the application and overwrite configs\n" @printf "%b" " -update:\t\t\tInstall the application without touching the configs\n" @printf "%b" " -install-apache-config:\tInstall the apache configuration\n" # # Installs the whole application w\o httpd configurations # install: install-config install-basic ensure-writable-folders install-cli # # Install icingacli bin # install-cli: $(INSTALL) -m 755 -d $(INSTALL_OPTS) $(bindir) $(INSTALL) -m 755 $(INSTALL_OPTS) "./bin/icingacli" $(bindir)/icingacli; # # Installs the whole application w\o configuration # install-basic: install-static-files install-runtime-dirs ensure-writable-folders # # Updates only the application # update: install-application # # Removes files created by ./configure # clean: if [ -f ./Makefile ];then \ rm ./Makefile; \ fi; \ if [ -f ./etc/apache/icingaweb.conf ];then \ rm ./etc/apache/icingaweb.conf; \ fi; # # Installs/copies all static files (executables, scripts, html, etc) # install-static-files: install-application copy-web-files-public copy-web-files-modules # # Installs all configuration files # install-config: $(INSTALL) -m 755 $(INSTALL_OPTS_WEB) -d $(DESTDIR)$(ICINGAWEB_CONFIG_PATH) @dirs=`cd ./config ; find . -mindepth 1 -type d `;\ for dir in $$dirs; do \ $(INSTALL) -m 755 $(INSTALL_OPTS_WEB) -d $(DESTDIR)$(ICINGAWEB_CONFIG_PATH)/"$$dir"; \ done; @files=`cd ./config ; find . -mindepth 1 -type f \ -and ! -name ".*" -and ! -name "*.in"`; \ for file in $$files; do \ $(INSTALL) -m 644 $(INSTALL_OPTS_WEB) "./config/$$file" $(DESTDIR)$(ICINGAWEB_CONFIG_PATH)/"$$file"; \ done # # Installs runtime directories like the application cache # install-runtime-dirs: $(INSTALL) -m 755 $(INSTALL_OPTS_WEB) -d $(DESTDIR)$(prefix)/application/cache # # Copies the tests into the installation directory # install-tests: copy-folder-tests # # Install configurations for apache2 # install-apache-config: $(INSTALL) -m 755 -d $(INSTALL_OPTS) $(DESTDIR)$(HTTPD_CONFIG_PATH) $(INSTALL) -m 644 $(INSTALL_OPTS) "./etc/apache/icingaweb.conf" $(DESTDIR)$(HTTPD_CONFIG_PATH)/icingaweb.conf; # # Installs the php files to the prefix # install-application: copy-web-files-application copy-web-files-library install-cli # # Rule for copying folders and containing files (arbitary types), hidden files are excluded # copy-folder-%: $(INSTALL) -m 755 $(INSTALL_OPTS) -d $(DESTDIR)$(prefix)/$* @dirs=`find ./$* -mindepth 1 -type d `;\ for dir in $$dirs; do \ $(INSTALL) -m 755 $(INSTALL_OPTS) -d $(DESTDIR)$(prefix)/"$$dir"; \ done; @files=`find ./$* -mindepth 1 -type f \ -and ! -name ".*"`; \ for file in $$files; do \ $(INSTALL) -m 644 $(INSTALL_OPTS) "$$file" $(DESTDIR)$(prefix)/"$$file"; \ done ensure-writable-folders: $(INSTALL) -m 775 $(INSTALL_OPTS_WEB) -d $(DESTDIR)$(prefix)/var/ $(INSTALL) -m 775 $(INSTALL_OPTS_WEB) -d $(DESTDIR)$(ICINGAWEB_LOG_PATH) chmod -R 775 $(DESTDIR)$(ICINGAWEB_CONFIG_PATH) # # Rule for copying only php, *html, js and ini files. Hidden files are ignored # copy-web-files-%: $(INSTALL) -m 755 $(INSTALL_OPTS) -d $(DESTDIR)$(prefix)/$* @dirs=`find ./$* -mindepth 1 -type d `;\ for dir in $$dirs; do \ $(INSTALL) -m 755 $(INSTALL_OPTS_WEB) -d $(DESTDIR)$(prefix)/"$$dir"; \ done; @files=`find ./$* -mindepth 1 -type f \ -name "*.php" -or -name "*.ini" -or -name "*.*html" \ -or -name "*.js" -or -name "*.css" -or -name "*.less" \ -or -name "*.otf" -or -name "*.ttf" -or -name "*.otf" \ -or -name "*.svg" -or -name "*.woff" -or -name "*.png" \ -and ! -name ".*"`; \ for file in $$files; do \ $(INSTALL) -m 644 $(INSTALL_OPTS_WEB) "$$file" $(DESTDIR)$(prefix)/"$$file"; \ done # # Create release or snapshot tarball # # TODO: Use git-archive # create-tarball: # @./bin/make-tarball --prefix $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)/ # # create-tarball-nightly: # ./bin/make-tarball --prefix $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-`date +%Y%m%d`-`git rev-parse --short HEAD`/