cryptonas/Makefile

71 lines
2.3 KiB
Makefile

#
# Makefile for the cryptobox web-interface
#
# Copyright (c) 02006 senselab
#
CRYPTOBOX_ROOT = .
PREFIX = /usr/local
SHARE_DIR = $(PREFIX)/share/cryptobox
LIB_DIR = $(PREFIX)/lib/cryptobox
DOC_DIR = $(PREFIX)/share/doc/cryptobox
BUILD_DIR = build_dir
INSTALL = install
OS_TYPE=$(shell uname -o | tr [:upper:] [:lower:] | sed s/[^a-z0-9\._\-]/_/g)
.PHONY: install clean build
build:
$(INSTALL) -d -m 755 $(BUILD_DIR)/etc
$(INSTALL) -c -m 644 bin/cryptobox.conf $(BUILD_DIR)/etc/
@sed -i 's#^HTML_TEMPLATE_DIR=.*$$#HTML_TEMPLATE_DIR=$(SHARE_DIR)/templates#' $(BUILD_DIR)/etc/cryptobox.conf
@sed -i 's#^LANGUAGE_DIR=.*$$#LANGUAGE_DIR=$(SHARE_DIR)/lang#' $(BUILD_DIR)/etc/cryptobox.conf
@sed -i 's#^DOC_DIR=.*$$#DOC_DIR=$(DOC_DIR)/html#' $(BUILD_DIR)/etc/cryptobox.conf
@sed -i 's#^CONFIG_DEFAULTS_DIR=.*$$#CONFIG_DEFAULTS_DIR=$(SHARE_DIR)/defaults#' $(BUILD_DIR)/etc/cryptobox.conf
@touch $(BUILD_DIR)-stamp
install: $(BUILD_DIR)-stamp
## programs
$(INSTALL) -d -m 755 $(LIB_DIR)
$(INSTALL) -c -m 755 bin/*.py $(LIB_DIR)/
$(INSTALL) -c -m 755 bin/*.sh $(LIB_DIR)/
## language files
$(INSTALL) -d -m 755 $(SHARE_DIR)/lang
$(INSTALL) -c -m 644 lang/* $(SHARE_DIR)/lang/
## template files
$(INSTALL) -d -m 755 $(SHARE_DIR)/templates
$(INSTALL) -c -m 644 templates/*.cs $(SHARE_DIR)/templates
## html data
$(INSTALL) -d -m 755 $(SHARE_DIR)/html
$(INSTALL) -c -m 644 www-data/*.css $(SHARE_DIR)/html/
$(INSTALL) -c -m 644 www-data/*.png $(SHARE_DIR)/html/
$(INSTALL) -c -m 644 www-data/*.gif $(SHARE_DIR)/html/
## screenshots
$(INSTALL) -d -m 755 $(SHARE_DIR)/html/screenshots
$(INSTALL) -c -m 644 www-data/screenshots/*.png $(SHARE_DIR)/html/screenshots/
## documentation files (html)
ls doc/html | while read lang ;\
do test -d "doc/html/$$lang" && \
$(INSTALL) -d -m 755 "$(DOC_DIR)/html/$$lang" && \
$(INSTALL) -c -m 644 "doc/html/$$lang"/* "$(DOC_DIR)/html/$$lang/" ;\
done; true
## configuration examples
$(INSTALL) -d -m 755 $(DOC_DIR)/conf-examples
$(INSTALL) -c -m 644 conf-examples/* $(DOC_DIR)/conf-examples/
## plugins
$(INSTALL) -d -m 755 $(SHARE_DIR)/plugins
for e in plugins/*; do cp -r "$$e" "$(SHARE_DIR)/plugins"; done
## event scripts
$(INSTALL) -c -m 644 hook-scripts/README $(DOC_DIR)/README.events
clean:
#$(MAKE) -C bin clean
-rm -rf $(BUILD_DIR)
-rm -f $(BUILD_DIR)-stamp