code.gitea.io/gitea@v1.21.7/BSDmakefile (about) 1 # GNU makefile proxy script for BSD make 2 # 3 # Written and maintained by Mahmoud Al-Qudsi <mqudsi@neosmart.net> 4 # Copyright NeoSmart Technologies <https://neosmart.net/> 2014-2019 5 # Obtain updates from <https://github.com/neosmart/gmake-proxy> 6 # 7 # Redistribution and use in source and binary forms, with or without 8 # modification, are permitted provided that the following conditions are met: 9 # 10 # 1. Redistributions of source code must retain the above copyright notice, this 11 # list of conditions and the following disclaimer. 12 # 13 # 2. Redistributions in binary form must reproduce the above copyright notice, 14 # this list of conditions and the following disclaimer in the documentation 15 # and/or other materials provided with the distribution. 16 # 17 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 18 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 20 # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 21 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 23 # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 24 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 25 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 28 JARG = 29 GMAKE = "gmake" 30 # When gmake is called from another make instance, -w is automatically added 31 # which causes extraneous messages about directory changes to be emitted. 32 # Running with --no-print-directory silences these messages. 33 GARGS = "--no-print-directory" 34 35 .if "$(.MAKE.JOBS)" != "" 36 JARG = -j$(.MAKE.JOBS) 37 .endif 38 39 # bmake prefers out-of-source builds and tries to cd into ./obj (among others) 40 # where possible. GNU Make doesn't, so override that value. 41 .OBJDIR: ./ 42 43 # The GNU convention is to use the lowercased `prefix` variable/macro to 44 # specify the installation directory. Humor them. 45 GPREFIX = 46 .if defined(PREFIX) && ! defined(prefix) 47 GPREFIX = 'prefix = "$(PREFIX)"' 48 .endif 49 50 .BEGIN: .SILENT 51 which $(GMAKE) || (printf "Error: GNU Make is required!\n\n" 1>&2 && false) 52 53 .PHONY: FRC 54 $(.TARGETS): FRC 55 $(GMAKE) $(GPREFIX) $(GARGS) $(.TARGETS:S,.DONE,,) $(JARG) 56 57 .DONE .DEFAULT: .SILENT 58 $(GMAKE) $(GPREFIX) $(GARGS) $(.TARGETS:S,.DONE,,) $(JARG)