SMOLNET PORTAL home about changes
iInitial commit. - bitreich-style - Style guide for programmers.	Err	bitreich.org	70
hgit clone git://bitreich.org/bitreich-style	URL:git://bitreich.org/bitreich-style	bitreich.org	70
1Log	/scm/bitreich-style/log.gph	bitreich.org	70
1Files	/scm/bitreich-style/files.gph	bitreich.org	70
1Refs	/scm/bitreich-style/refs.gph	bitreich.org	70
1Tags	/scm/bitreich-style/tag	bitreich.org	70
1README	/scm/bitreich-style/file/README.md.gph	bitreich.org	70
1LICENSE	/scm/bitreich-style/file/LICENSE.gph	bitreich.org	70
i---	Err	bitreich.org	70
1commit 040830cabbba670cfbac39d214fe274d7c10b88d	/scm/bitreich-style/commit/040830cabbba670cfbac39d214fe274d7c10b88d.gph	bitreich.org	70
hAuthor: Christoph Lohmann <20h@r-36.net>	URL:mailto:20h@r-36.net	bitreich.org	70
iDate:   Wed, 10 Jun 2020 14:26:06 +0200	Err	bitreich.org	70
i	Err	bitreich.org	70
iInitial commit.	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  A LICENSE                             |      16 ++++++++++++++++	Err	bitreich.org	70
i  A Principles.md                       |      58 ++++++++++++++++++++++++++++++	Err	bitreich.org	70
i  A README.md                           |      23 +++++++++++++++++++++++	Err	bitreich.org	70
i  A c/makefile-guideline.txt            |     272 +++++++++++++++++++++++++++++++	Err	bitreich.org	70
i	Err	bitreich.org	70
i4 files changed, 369 insertions(+), 0 deletions(-)	Err	bitreich.org	70
i---	Err	bitreich.org	70
1diff --git a/LICENSE b/LICENSE	/scm/bitreich-style/file/LICENSE.gph	bitreich.org	70
i@@ -0,0 +1,16 @@	Err	bitreich.org	70
i+ISC License	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Copyright (c) 2020 Christoph Lohmann <20h@r-36.net>	Err	bitreich.org	70
i+Copyright (c) 2020 Hiltjo Posthuma <hiltjo@codemadness.org>	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Permission to use, copy, modify, and/or distribute this software for any	Err	bitreich.org	70
i+purpose with or without fee is hereby granted, provided that the above	Err	bitreich.org	70
i+copyright notice and this permission notice appear in all copies.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES	Err	bitreich.org	70
i+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF	Err	bitreich.org	70
i+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR	Err	bitreich.org	70
i+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES	Err	bitreich.org	70
i+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN	Err	bitreich.org	70
i+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF	Err	bitreich.org	70
i+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.	Err	bitreich.org	70
1diff --git a/Principles.md b/Principles.md	/scm/bitreich-style/file/Principles.md.gph	bitreich.org	70
i@@ -0,0 +1,58 @@	Err	bitreich.org	70
i+# Principles	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Please first see the Bitreich Manifesto at	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        gopher://bitreich.org/0/documents/bitreich-manifesto.md	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+## KISP – Keep It Simple Perfect	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+* Make a project do one thing well.	Err	bitreich.org	70
i+* A project can be done, does not need change just because.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+## Commandline Interfaces	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+* Always add  a commandline interface so advanced users  can script your	Err	bitreich.org	70
i+application and thus have more fun using it.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+## When Possible Use GPLv3	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+* Use which license you like, but think of the future, when people might	Err	bitreich.org	70
i+use your software in war or other inhumane things. A life of open source	Err	bitreich.org	70
i+is not just about the CV and getting a Google job with a small home, bad	Err	bitreich.org	70
i+sex in marriage and a dog.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+## Users are Programmers	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+*  First  think  of  the  programmers who  might  want  to  change  your	Err	bitreich.org	70
i+application, help you,  find bugs you have not spotted  because you made	Err	bitreich.org	70
i+the application. Make this as simple as possible to contribute.	Err	bitreich.org	70
i+* Some ugly website which requires  Gigabytes of RAM and big hardware is	Err	bitreich.org	70
i+not a simple  access and will only  make your own brain in  the long run	Err	bitreich.org	70
i+fluid.	Err	bitreich.org	70
i+*  Always add  a Makefile  using  common methodologies  and commands  so	Err	bitreich.org	70
i+people can easily build your software. Do not make a build framework for	Err	bitreich.org	70
i+every new  project. Make(1) knows most  things needed, you may  not have	Err	bitreich.org	70
i+read the documentation properly.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+## Straightforward Documentation	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+* When compiling software you realize, that people are using all kind of	Err	bitreich.org	70
i+bloated tools  to generate  documentation. Please do  not be  like that.	Err	bitreich.org	70
i+Think of all the people having  to compile this to get your application.	Err	bitreich.org	70
i+Use what is more  descriptive and easy to use: Man pages,  a text or the	Err	bitreich.org	70
i+source.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+## Applications Can Be Done	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+* If your  application does what it  should do, but suddenly  you have a	Err	bitreich.org	70
i+new big idea, make a new project, do not push the old one. There are old	Err	bitreich.org	70
i+users who do not think the same as you.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+## Freedom Of Language	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+* Use whatever language you like.	Err	bitreich.org	70
i+* Think of  the dependencies. If you use slow  to compile languages, you	Err	bitreich.org	70
i+will waste hours  of lifetime of others.  Do not be an  asshole to those	Err	bitreich.org	70
i+people.	Err	bitreich.org	70
i+	Err	bitreich.org	70
1diff --git a/README.md b/README.md	/scm/bitreich-style/file/README.md.gph	bitreich.org	70
i@@ -0,0 +1,23 @@	Err	bitreich.org	70
i+# Bitreich Style	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+## Description	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+This repository's purpose is to  document style, simple tutorials on how	Err	bitreich.org	70
i+to start  projects, hints for new  developers on how packagers  or other	Err	bitreich.org	70
i+developers think. Overall it is to make open source a nicer place, which	Err	bitreich.org	70
i+does not  get ugly over  time or slower due  to people just  adding what	Err	bitreich.org	70
i+they found  on stackoverflow over  eachother because they  never learned	Err	bitreich.org	70
i+the basics.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+## Bugs / Hints	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Send bugs / hints to	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        Christoph Lohmann <20h@r-36.net>	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+or on #bitreich-en on Freenode.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Have fun!	Err	bitreich.org	70
i+	Err	bitreich.org	70
1diff --git a/c/makefile-guideline.txt b/c/makefile-guideline.txt	/scm/bitreich-style/file/c/makefile-guideline.txt.gph	bitreich.org	70
i@@ -0,0 +1,272 @@	Err	bitreich.org	70
i+Title: Guidelins for writing simple portable Makefiles	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+This page describes some guidelines and good practises for writing simple	Err	bitreich.org	70
i+portable POSIX Makefiles. It assumes a basic level of understanding in writing	Err	bitreich.org	70
i+Makefiles already. It will focus on projects that use the C programming	Err	bitreich.org	70
i+language.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+make is used because it has been around for a long time, it is available on	Err	bitreich.org	70
i+many systems, it is a POSIX standard and it has proven to work well for most	Err	bitreich.org	70
i+projects.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Targets	Err	bitreich.org	70
i+-------	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+The following targets should be defined in the Makefile:	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+* all or the "default": build the project.	Err	bitreich.org	70
i+* clean: clean files used by compilation, such as: object files, compiled	Err	bitreich.org	70
i+  binaries.	Err	bitreich.org	70
i+* install: install the build project.	Err	bitreich.org	70
i+* uninstall (optional): uninstall the project.	Err	bitreich.org	70
i+* dist (optional): create a source tarball of the project intended as	Err	bitreich.org	70
i+  redistribution for source packages.	Err	bitreich.org	70
i+* tests (optional): run unit tests.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Portability	Err	bitreich.org	70
i+-----------	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Do not use GNUisms in Makefiles. Testing with different make implementations	Err	bitreich.org	70
i+like BSD make which mostly respect POSIX is very useful.  Use POSIX Makefile	Err	bitreich.org	70
i+rules: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Variables	Err	bitreich.org	70
i+---------	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+It is recommended to respect the following commonly-used variables.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+* $DESTDIR: for the install targets make use of the $DESTDIR variable. This	Err	bitreich.org	70
i+  make it simpler to install the package to an other location and make binary	Err	bitreich.org	70
i+  packages. It is the prefix destination directory to install to (before $PREFIX).	Err	bitreich.org	70
i+  It should be unset by default.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+* $PREFIX: this specifies the prefix location to install to, it should be	Err	bitreich.org	70
i+  "/usr/local" by default since this is most commonly used for ports.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+* $MANPREFIX or $MANDIR:	Err	bitreich.org	70
i+  * Distributions can use different locations for man pages for ports or in general.	Err	bitreich.org	70
i+  * Some distributions package documentation in a separate package (project-doc).	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Specifying compiler and linker flags:	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+* $CC, $CFLAGS, $LDFLAGS, $CPPFLAGS: make sure to respect the default set flags	Err	bitreich.org	70
i+  as specified in POSIX: https://pubs.opengroup.org/onlinepubs/9699919799/	Err	bitreich.org	70
i+  under the section "Default rules". This make it easier for the ports build system	Err	bitreich.org	70
i+  to use the set variables and not having to patch the Makefile in some way.	Err	bitreich.org	70
i+* $CFLAGS: do not hard-code optimization flags like (-O2) or diagnostic flags such as	Err	bitreich.org	70
i+  -Wall, -Wextra, -pedantic. Of course do not specify unportable compiler flags.	Err	bitreich.org	70
i+* $LDFLAGS: do not hard-code linker flags like -s (symbol stripping) or -g, -static	Err	bitreich.org	70
i+  or such flags.	Err	bitreich.org	70
i+* Libraries: using separate variables for compile and link per library (for	Err	bitreich.org	70
i+  example libpng, libjpeg) can be useful for building in ports.	Err	bitreich.org	70
i+  For example a variable LIBPNG_CFLAGS, LIBPNG_LDFLAGS for the header files or	Err	bitreich.org	70
i+  library location.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Considerations	Err	bitreich.org	70
i+--------------	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+* It is not recommended to suppress compilation output with the @ prefix (for	Err	bitreich.org	70
i+  example to make output look nicer aligned). The verbose output is very useful	Err	bitreich.org	70
i+  for debugging and suppressing it only adds debugging abstractions.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+* Try to use a single-file Makefile for atleast small projects.  If needed some	Err	bitreich.org	70
i+  configuration could be included from the Makefile: config.mk.  Keep in mind	Err	bitreich.org	70
i+  reducing abstractions will increase readability and debugability.  Package	Err	bitreich.org	70
i+  maintainers/porters do not want to have to relearn a new system for each	Err	bitreich.org	70
i+  software package.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+* As specified above different systems can use different locations for certain	Err	bitreich.org	70
i+  things like man pages, X11 header files and libraries and ports installation.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+  Examples:	Err	bitreich.org	70
i+  * X11: commonly uses /usr/X11R6 on BSD-like platforms.	Err	bitreich.org	70
i+  * Man page directories: on OpenBSD: /usr/local/man.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Testing on many different systems is useful! For example: Linux, OpenBSD, NetBSD.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Examples	Err	bitreich.org	70
i+--------	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Below is an example of a project json2tsv Makefile. It is line-numbered and	Err	bitreich.org	70
i+below are some added remarks why things are done the way they are.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+     1        .POSIX:	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Specify POSIX compatibility: "To receive exactly the behavior described in this	Err	bitreich.org	70
i+section, the user shall ensure that a portable makefile shall: Include the	Err	bitreich.org	70
i+special target .POSIX"	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+     2        	Err	bitreich.org	70
i+     3        NAME = json2tsv	Err	bitreich.org	70
i+     4        VERSION = 0.5	Err	bitreich.org	70
i+     5        	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Define a name and version variable of the project which can be reused, for	Err	bitreich.org	70
i+example for the dist tarball.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+     6        # paths	Err	bitreich.org	70
i+     7        PREFIX = /usr/local	Err	bitreich.org	70
i+     8        MANPREFIX = ${PREFIX}/man	Err	bitreich.org	70
i+     9        DOCPREFIX = ${PREFIX}/share/doc/${NAME}	Err	bitreich.org	70
i+    10        	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Specify default sane paths.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    11        RANLIB = ranlib	Err	bitreich.org	70
i+    12        	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+This variable is not specified by default in POSIX. It is commonly "ranlib",	Err	bitreich.org	70
i+but can be overwritten.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    13        BIN = ${NAME}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+In this case it's simple: the binary is the program name.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    14        SRC = ${BIN:=.c}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+C source files, so just json2tsv.c here.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    15        HDR = json.h	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Header files.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    16        MAN1 = ${BIN:=.1}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Man section 1 pages.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    17        DOC = \	Err	bitreich.org	70
i+    18                LICENSE\	Err	bitreich.org	70
i+    19                README	Err	bitreich.org	70
i+    20        	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Other documentation and license files.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    21        LIBJSON = libjson.a	Err	bitreich.org	70
i+    22        LIBJSONSRC = json.c	Err	bitreich.org	70
i+    23        LIBJSONOBJ = ${LIBJSONSRC:.c=.o}	Err	bitreich.org	70
i+    24        	Err	bitreich.org	70
i+    25        LIB = ${LIBJSON}	Err	bitreich.org	70
i+    26        	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Build the json.c file as a local reusable linkable library (libjson.a).	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    27        all: ${BIN}	Err	bitreich.org	70
i+    28        	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+The default build rule: build the binary.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    29        ${BIN}: ${LIB} ${@:=.o}	Err	bitreich.org	70
i+    30        	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+The binary depends on the own libjson library and object files.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    31        OBJ = ${SRC:.c=.o} ${LIBJSONOBJ}	Err	bitreich.org	70
i+    32        	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+The object files are all C source-code substituted to from .c to .o and the	Err	bitreich.org	70
i+local libjson library files, so: json2tsv.o json.o	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    33        ${OBJ}: ${HDR}	Err	bitreich.org	70
i+    34        	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Ensure the object files are recompiled if the header file contents change.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    35        .o:	Err	bitreich.org	70
i+    36                ${CC} ${LDFLAGS} -o $@ $< ${LIB}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Linking, use the system specified LDFLAGS.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    37        	Err	bitreich.org	70
i+    38        .c.o:	Err	bitreich.org	70
i+    39                ${CC} ${CFLAGS} ${CPPFLAGS} -o $@ -c $<	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Compiling, use the system specified CFLAGS and CPPFLAGS.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    40        	Err	bitreich.org	70
i+    41        ${LIBJSON}: ${LIBJSONOBJ}	Err	bitreich.org	70
i+    42                ${AR} rc $@ $?	Err	bitreich.org	70
i+    43                ${RANLIB} $@	Err	bitreich.org	70
i+    44        	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Create an archive of the libjson object files. Note that ar -s is an extension	Err	bitreich.org	70
i+so ranlib is called as a separate command. It is also useful to be specified	Err	bitreich.org	70
i+separately for cross-compiling.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    45        dist:	Err	bitreich.org	70
i+    46                rm -rf "${NAME}-${VERSION}"	Err	bitreich.org	70
i+    47                mkdir -p "${NAME}-${VERSION}"	Err	bitreich.org	70
i+    48                cp -f ${MAN1} ${DOC} ${HDR} \	Err	bitreich.org	70
i+    49                        ${SRC} ${LIBJSONSRC} Makefile "${NAME}-${VERSION}"	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Use the -f (force) options for rm to make sure to not return an error in-case	Err	bitreich.org	70
i+of failure. For cp it ensures to overwrite the file even if it is busy.  For	Err	bitreich.org	70
i+mkdir the -p flag is used to create all intermediary directories and to not	Err	bitreich.org	70
i+return an error if the directory already exists.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    50                # make tarball	Err	bitreich.org	70
i+    51                tar -cf - "${NAME}-${VERSION}" | gzip -c > "${NAME}-${VERSION}.tar.gz"	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Make a tarball. gzip from stdin is used for portability (tar -z is non-POSIX).	Err	bitreich.org	70
i+https://pubs.opengroup.org/onlinepubs/007908799/xcu/tar.html	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    52                rm -rf "${NAME}-${VERSION}"	Err	bitreich.org	70
i+    53        	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    54        clean:	Err	bitreich.org	70
i+    55                rm -f ${BIN} ${OBJ} ${LIB}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Remove the binary, object files and the local archive library (.a) file.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    56        	Err	bitreich.org	70
i+    57        install: all	Err	bitreich.org	70
i+    58                # installing executable files.	Err	bitreich.org	70
i+    59                mkdir -p "${DESTDIR}${PREFIX}/bin"	Err	bitreich.org	70
i+    60                cp -f ${BIN} "${DESTDIR}${PREFIX}/bin"	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+For cp it ensures to overwrite the file even if it is installed already and	Err	bitreich.org	70
i+busy as a process.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    61                for f in ${BIN}; do chmod 755 "${DESTDIR}${PREFIX}/bin/$$f"; done	Err	bitreich.org	70
i+    62                # installing example files.	Err	bitreich.org	70
i+    63                mkdir -p "${DESTDIR}${DOCPREFIX}"	Err	bitreich.org	70
i+    64                cp -f README "${DESTDIR}${DOCPREFIX}"	Err	bitreich.org	70
i+    65                # installing manual pages for general commands: section 1.	Err	bitreich.org	70
i+    66                mkdir -p "${DESTDIR}${MANPREFIX}/man1"	Err	bitreich.org	70
i+    67                cp -f ${MAN1} "${DESTDIR}${MANPREFIX}/man1"	Err	bitreich.org	70
i+    68                for m in ${MAN1}; do chmod 644 "${DESTDIR}${MANPREFIX}/man1/$$m"; done	Err	bitreich.org	70
i+    69        	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Explicitly sets permissions for executable files and for documentation.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    70        uninstall:	Err	bitreich.org	70
i+    71                # removing executable files.	Err	bitreich.org	70
i+    72                for f in ${BIN}; do rm -f "${DESTDIR}${PREFIX}/bin/$$f"; done	Err	bitreich.org	70
i+    73                # removing example files.	Err	bitreich.org	70
i+    74                rm -f "${DESTDIR}${DOCPREFIX}/README"	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    75                -rmdir "${DESTDIR}${DOCPREFIX}"	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+Try to remove the doc directory, but if it is shared by other packages and	Err	bitreich.org	70
i+rmdir returns an error code then that is ok and make still proceeds.	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+    76                # removing manual pages.	Err	bitreich.org	70
i+    77                for m in ${MAN1}; do rm -f "${DESTDIR}${MANPREFIX}/man1/$$m"; done	Err	bitreich.org	70
i+    78        	Err	bitreich.org	70
i+    79        .PHONY: all clean dist install uninstall	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+TODO	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+References:	Err	bitreich.org	70
i+- https://www.gnu.org/prep/standards/standards.html#DESTDIR	Err	bitreich.org	70
i+- https://nullprogram.com/blog/2017/08/20/	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+- https://www.openbsd.org/faq/ports/	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/bitreich-style/commit/040830c...
Content-Typetext/plain; charset=utf-8