improve makefile functionality

- added help text
- allowed output directories to be overridden
- streamlined install process
- removed unused targets
- made all targets PHONY
merge-requests/61/head
Abigail G 2021-02-24 18:45:29 -05:00
rodzic 4334781335
commit 4f07988e87
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 6BE0755918A4C7F5
1 zmienionych plików z 26 dodań i 11 usunięć

Wyświetl plik

@ -1,17 +1,32 @@
BIN = $(DESTDIR)/usr/bin
LIB = $(DESTDIR)/usr/share/gridtracker
APP = $(DESTDIR)/usr/share/applications
MAN = $(DESTDIR)/usr/share/man/man1
DOC = $(DESTDIR)/usr/share/doc/gridtracker
.DEFAULT_GOAL := help
all:
DESTDIR ?= ./build
BIN ?= $(DESTDIR)/usr/bin
LIB ?= $(DESTDIR)/usr/share/gridtracker
APP ?= $(DESTDIR)/usr/share/applications
MAN ?= $(DESTDIR)/usr/share/man/man1
DOC ?= $(DESTDIR)/usr/share/doc/gridtracker
.PHONY: help
help:
@echo "Specify a target to build:"
@echo " -> make install"
@echo " install gridtracker in DESTDIR (default: ./build)"
@echo " -> make clean"
@echo " remove built files from DESTDIR"
.PHONY: clean
clean:
@echo "Cleaning $(DESTDIR)..."
rm -rf $(DESTDIR)/*
.PHONY: install
install:
install -d $(BIN) $(LIB) $(APP) $(MAN) $(DOC)
install -c -m 755 gridtracker.sh $(BIN)/gridtracker
install -c -m 644 gridtracker.desktop $(APP)/gridtracker.desktop
install -c -m 644 gridtracker.1 $(MAN)
install -c -m 644 LICENSE $(DOC)
@echo "Installing gridtracker in $(DESTDIR)..."
install -Dcm 755 gridtracker.sh $(BIN)/gridtracker
install -Dcm 644 gridtracker.desktop $(APP)/gridtracker.desktop
install -Dcm 644 gridtracker.1 $(MAN)/gridtracker.1
install -Dcm 644 LICENSE $(DOC)/LICENSE
mkdir -p $(LIB)
cp -r package.nw/* $(LIB)