чување 9340892157cf29aa90877cc90347fb68d2685152
родитељ 62d3767aaf94de8de55f224565c570c5fa4240dd
Аутор: Страхиња Радић <contact@strahinja.org>
Датум: Thu, 28 Sep 2023 14:48:43 +0200
Make config.redo behave more like config.mk; synchronize changes to build
scripts and INSTALL from sled
Signed-off-by: Страхиња Радић <contact@strahinja.org>
Diffstat:
измењених датотека: 8, додавања: 15(+), брисања: 26(-)
diff --git a/.gitignore b/.gitignore
@@ -17,7 +17,6 @@ nohup.out
*.gz
*.xz
*.1
-config.redo
cscope.out
dtree
dtree.1
diff --git a/INSTALL b/INSTALL
@@ -1,7 +1,7 @@
Prerequisites
=============
-* C compiler (GCC-compatible) - ${CC:-gcc -g}
+* C compiler - defaults in config.redo
* gzip
@@ -24,7 +24,6 @@ if you don't:
Persistent build configuration file
-----------------------------------
-If a file config.redo exists in the build directory, it will be sourced when
-building targets which also accept configuration through environment variables.
-For example, CC and PREFIX can be specified in config.redo, eliminating the need
-to pass them with each build.
+The file config.redo will be sourced when building targets which also accept
+configuration through environment variables. For example, CC and PREFIX
+are specified in config.redo.
diff --git a/config.redo b/config.redo
@@ -0,0 +1,4 @@
+PREFIX=${PREFIX:-/usr/local}
+CC=${CC:-gcc -g -Wall -pedantic -std=c99 -D_POSIX_C_SOURCE=200809L \
+-D_XOPEN_SOURCE=700 -D_DEFAULT_SOURCE}
+STRIP=${STRIP:-:}
diff --git a/default.o.do b/default.o.do
@@ -1,5 +1,3 @@
redo-ifchange $2.c
-if [ -r ./config.redo ]; then
- . ./config.redo
-fi
-${CC:-gcc -g} -Wall -pedantic -std=c99 -o $3 -c $2.c
+. ./config.redo
+${CC} -o $3 -c $2.c
diff --git a/dtree.c b/dtree.c
@@ -2,10 +2,6 @@
* any later version. Copyright (C) 2023 Страхиња Радић.
* See the file LICENSE for exact copyright and license details. */
-#define _POSIX_C_SOURCE 200809L
-#define _DEFAULT_SOURCE
-#define _XOPEN_SOURCE
-
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
diff --git a/dtree.do b/dtree.do
@@ -1,6 +1,4 @@
-if [ -r ./config.redo ]; then
- . ./config.redo
-fi
+. ./config.redo
for f in *.h.in; do
echo $f | sed -e's/\.in$//g'
done | xargs redo-ifchange
@@ -8,4 +6,5 @@ for f in *.h *.c; do
echo $f
echo $f | sed -e's/\.c$/.o/g'
done | xargs redo-ifchange
-${CC:-gcc -g} -Wall -pedantic -std=c99 -o $3 dtree.o utf8.o ${LIBS}
+${CC} -o $3 dtree.o utf8.o ${LIBS}
+${STRIP} $3
diff --git a/install.do b/install.do
@@ -1,8 +1,5 @@
redo-ifchange all
-if [ -r ./config.redo ]; then
- . ./config.redo
-fi
-PREFIX=${PREFIX:-/usr/local}
+. ./config.redo
BINDIR=$PREFIX/bin
DOCDIR=$PREFIX/share/doc/dtree
MANDIR=$PREFIX/share/man/man1
diff --git a/uninstall.do b/uninstall.do
@@ -1,8 +1,5 @@
redo-always
-if [ -r ./config.redo ]; then
- . ./config.redo
-fi
-PREFIX=${PREFIX:-/usr/local}
+. ./config.redo
BINDIR=$PREFIX/bin
DOCDIR=$PREFIX/share/doc/dtree
MANDIR=$PREFIX/share/man/man1