imgsort2/Makefile

88 lines
2.3 KiB
Makefile
Raw Permalink Normal View History

2024-09-01 19:41:34 +02:00
# CONFIGURE at least ROOT_DIR and INSTALL_DIR
2024-09-01 19:50:59 +02:00
# All paths without trailing slashes
2024-09-01 19:41:34 +02:00
# Absolute path to the directory containing all image directories as well as the staging directory
# eg: ROOT_DIR = /data/images
2024-09-02 14:58:55 +02:00
# ROOT_DIR =
2024-09-01 19:41:34 +02:00
# The URI at which the ROOT_DIR will be served
2024-09-02 14:58:55 +02:00
ROOT_PATH = images
2024-09-01 19:41:34 +02:00
# Path of the directory containing all the files to be sorted, relative to ROOT_DIR
# eg: STAGING_DIR = .sort
STAGING_DIR = .sort
# Absolute path to the directory into which the application files will be installed
# eg: INSTALL_DIR = /www/imgsort2
2024-09-02 14:58:55 +02:00
# INSTALL_DIR =
2024-09-01 19:41:34 +02:00
2024-09-01 23:48:37 +02:00
2024-09-01 19:41:34 +02:00
# DO NOT CHANGE ANYTHING HERE
2024-09-01 23:48:37 +02:00
default: css
.PHONY: clean install stop test php css
# Installation
2024-09-02 00:17:32 +02:00
ifndef ROOT_DIR
$(error Edit this Makefile and set the ROOT_DIR variable)
endif
ifndef INSTALL_DIR
$(error Edit this Makefile and set the INSTALL_DIR variable)
endif
ifndef STAGING_DIR
$(error Edit this Makefile and set the STAGING_DIR variable)
endif
ifndef ROOT_PATH
$(error Edit this Makefile and set the ROOT_PATH variable)
endif
2024-09-01 17:44:31 +02:00
SRC_DIR = src
2024-09-02 14:32:30 +02:00
RES_DIR = resources
2024-09-02 14:56:56 +02:00
_SRC_FLS = config.html config.js index.html index.js imgsort.php style.css
2024-09-01 19:41:34 +02:00
SRC_FLS = $(foreach f,$(_SRC_FLS),$(SRC_DIR)/$(f))
2024-09-02 14:32:30 +02:00
INSTALL_FLS = $(foreach f,$(_SRC_FLS),$(INSTALL_DIR)/$(f)) $(INSTALL_DIR)/favicon.png
2024-09-01 17:44:31 +02:00
SASS_CMD = sass --color --load-path=src/sass
2024-09-02 14:32:30 +02:00
install: $(INSTALL_FLS) imgsort2-nginx.conf imgsort2-php-fpm.conf
2024-09-01 19:41:34 +02:00
$(INSTALL_DIR)/%.php: $(SRC_DIR)/%.php
2024-09-01 23:48:37 +02:00
sed 's|$$rootDir = .*|$$rootDir = "$(ROOT_DIR)/";|; s|$$rootPath = .*|$$rootPath = "$(ROOT_PATH)/";|; s|$$stagingDirName = .*|$$stagingDirName = "$(STAGING_DIR)/";|' $< > $@
2024-09-01 19:41:34 +02:00
chmod 0744 $@
2024-09-02 14:32:30 +02:00
$(INSTALL_DIR)/%.png: $(RES_DIR)/%.png
install -m 0744 $< $@
2024-09-01 19:41:34 +02:00
$(INSTALL_DIR)/%: $(SRC_DIR)/%
install -m 0744 $< $@
2024-09-02 14:56:56 +02:00
%.conf: $(RES_DIR)/%.conf
sed 's|/www/imgsort2|$(INSTALL_DIR)|; s|/data/images|$(ROOT_DIR)|; s|/images|/$(ROOT_PATH)|;' $< > $@
2024-09-01 19:50:59 +02:00
chmod 0740 $@
2024-09-01 19:41:34 +02:00
clean:
rm $(INSTALL_FLS)
2024-09-01 23:48:37 +02:00
# Compile the sass
css:
$(SASS_CMD) --no-indented --no-source-map src/sass/main.sass src/style.css
# Testing
2024-09-01 17:44:31 +02:00
php:
php -S localhost:8000 -t . &
2024-09-01 19:41:34 +02:00
firefox http://localhost:8000/src/index.html
2024-09-01 17:44:31 +02:00
stop:
-killall php
2024-09-01 19:41:34 +02:00
TESTDIR = images
# Create a image directory for testing.
# This should work with the default configuration
2024-09-01 17:44:31 +02:00
test:
-@rm -r $(TESTDIR)
2024-09-01 19:41:34 +02:00
-@mkdir -p $(TESTDIR) $(TESTDIR)/.sort
-@cp resources/* $(TESTDIR)/.sort
2024-09-01 23:48:37 +02:00