+- Use new upstream tarball beep-1.3.tar.gz (yes, it has changed!) +- Add a few fixes from upstream git repo +- Move our Makefile cleanup to upstream pull request
85 lines
2.2 KiB
Diff
85 lines
2.2 KiB
Diff
From 947a7e332908dcba1c7e523fbdc927d39ee6adb1 Mon Sep 17 00:00:00 2001
|
|
From: Hans Ulrich Niedermann <hun@n-dimensional.de>
|
|
Date: Tue, 19 Nov 2013 23:40:50 +0100
|
|
Subject: [PATCH 5/6] Make build/install more user and packaging friendly
|
|
|
|
Make the build and install more user and packaging friendly
|
|
by introducing the following features in the Makefile:
|
|
|
|
* Honor the $(CFLAGS) set when calling make.
|
|
|
|
* Prefix all install locations with $(DESTDIR) for
|
|
easy package building.
|
|
|
|
* Use GNU Makefile conventions for defining installation
|
|
directories. This means $(bindir) and $(man1dir)
|
|
instead of the former $(INSTALL_DIR) and $(MAN_DIR).
|
|
|
|
* Use install(1) for installing files and directories
|
|
so that permissions can be set properly.
|
|
|
|
* Stop "make clean" failing when it has nothing to do.
|
|
|
|
* Add 'uninstall' make target.
|
|
|
|
* Make 'install' target build executable if necessary.
|
|
---
|
|
Makefile | 40 +++++++++++++++++++++++++++++-----------
|
|
1 file changed, 29 insertions(+), 11 deletions(-)
|
|
|
|
diff --git a/Makefile b/Makefile
|
|
index 0f4f810..942a7a5 100644
|
|
--- a/Makefile
|
|
+++ b/Makefile
|
|
@@ -1,19 +1,37 @@
|
|
CC=gcc
|
|
FLAGS=-Wall -O2
|
|
+
|
|
+INSTALL=install
|
|
+
|
|
EXEC_NAME=beep
|
|
-INSTALL_DIR=/usr/bin
|
|
MAN_FILE=beep.1.gz
|
|
-MAN_DIR=/usr/share/man/man1
|
|
|
|
-default : beep
|
|
+# Use GNU makefile conventions for directory names with one notable
|
|
+# exception: prefix is not /usr/local in order to keep the default
|
|
+# installation location for beep.
|
|
+prefix=/usr
|
|
+exec_prefix=$(prefix)
|
|
+bindir=$(exec_prefix)/bin
|
|
+datarootdir=$(prefix)/share
|
|
+mandir=$(datarootdir)/man
|
|
+man1dir=$(mandir)/man1
|
|
+
|
|
+.PHONY: all
|
|
+all: $(EXEC_NAME)
|
|
+
|
|
+.PHONY: clean
|
|
+clean:
|
|
+ rm -f $(EXEC_NAME)
|
|
|
|
-clean :
|
|
- rm ${EXEC_NAME}
|
|
+$(EXEC_NAME): beep.c
|
|
+ $(CC) $(FLAGS) $(CFLAGS) -o $(EXEC_NAME) beep.c
|
|
|
|
-beep : beep.c
|
|
- ${CC} ${FLAGS} -o ${EXEC_NAME} beep.c
|
|
+install: all
|
|
+ $(INSTALL) -m 0755 -d $(DESTDIR)$(bindir)
|
|
+ $(INSTALL) -m 0755 $(EXEC_NAME) $(DESTDIR)$(bindir)/
|
|
+ $(INSTALL) -m 0755 -d $(DESTDIR)$(man1dir)
|
|
+ $(INSTALL) -m 0644 $(MAN_FILE) $(DESTDIR)$(man1dir)/
|
|
|
|
-install :
|
|
- cp ${EXEC_NAME} ${INSTALL_DIR}
|
|
- # rm -f /usr/man/man1/beep.1.bz2
|
|
- cp ${MAN_FILE} ${MAN_DIR}
|
|
+uninstall:
|
|
+ rm -f $(DESTDIR)$(bindir)/$(EXEC_NAME)
|
|
+ rm -f $(DESTDIR)$(man1dir)/$(MAN_FILE)
|
|
--
|
|
1.8.4.2
|
|
|