icingaweb2/Makefile.in

107 lines
3.0 KiB
Makefile

prefix=@prefix@
exec_prefix=@exec_prefix@
WWW_CONF_PATH=@www_conf_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-static-files install-runtime-dirs ensure-writable-folders
update: install-application
#
# Removes files created by ./configure
#
clean:
fi; \
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-config copy-web-files-modules
$(INSTALL) -m 644 $(INSTALL_OPTS) "./public/.htaccess" $(DESTDIR)$(prefix)/public/.htaccess;
#
# 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 644 $(INSTALL_OPTS) "./etc/apache/icingaweb.conf" $(WWW_CONF_PATH)/icingaweb.conf;
#
# Installs the php files to the prefix
#
install-application: copy-web-files-application copy-web-files-library
#
# Rule for coying 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)$(prefix)/var/log
chmod -R 775 $(DESTDIR)$(prefix)/config
#
# 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" \
-and ! -name ".*"`; \
for file in $$files; do \
$(INSTALL) -m 644 $(INSTALL_OPTS_WEB) "$$file" $(DESTDIR)$(prefix)/"$$file"; \
done