diff options
author | Sergey Zolotarev <sryze@protonmail.com> | 2023-10-13 21:38:27 +0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-13 15:38:27 +0000 |
commit | cf74f5fc40692f20508be9398675e38be41588d4 (patch) | |
tree | de53a374ebe7ad33cb8edfa48fde844d9842ac8b /BSDmakefile | |
parent | 532f166c4dc7087a98e86aa1de5b697e6b5c6e4f (diff) | |
download | gitea-cf74f5fc40692f20508be9398675e38be41588d4.tar.gz gitea-cf74f5fc40692f20508be9398675e38be41588d4.zip |
Fix build errors on BSD (in BSDMakefile) (#27594)
1. `make build` fails because `||` and `&&` have the same precedence in
sh/bash, so the `false` command always evaluated (leading to an error).
```
+ which gmake /usr/local/bin/gmake
+ false
*** Failed target: .BEGIN
*** Failed command: which "gmake" || printf "Error: GNU Make is
required!\n\n" 1>&2 && false
*** Error code 1
```
2. When `GPREFIX` is set to an empty string with quotation marks,
`gmake` mistakenly thinks that it's a file name:
``` gmake: *** empty string invalid as file name. Stop. ```
Diffstat (limited to 'BSDmakefile')
-rw-r--r-- | BSDmakefile | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/BSDmakefile b/BSDmakefile index 13174f8fd2..79696eadcf 100644 --- a/BSDmakefile +++ b/BSDmakefile @@ -42,13 +42,13 @@ GARGS = "--no-print-directory" # The GNU convention is to use the lowercased `prefix` variable/macro to # specify the installation directory. Humor them. -GPREFIX = "" +GPREFIX = .if defined(PREFIX) && ! defined(prefix) GPREFIX = 'prefix = "$(PREFIX)"' .endif .BEGIN: .SILENT - which $(GMAKE) || printf "Error: GNU Make is required!\n\n" 1>&2 && false + which $(GMAKE) || (printf "Error: GNU Make is required!\n\n" 1>&2 && false) .PHONY: FRC $(.TARGETS): FRC |