File allow-overriding-compiler-variables.patch of Package bmake
--- bmake/mk/sys/Linux.mk 2020-04-18 00:08:31.000000000 +0300
+++ Linux.mk 2020-05-16 19:05:25.000000000 +0300
@@ -8,76 +8,95 @@
ROOT_GROUP= root
# would be better to work out where it is...
-LIBCRT0= /dev/null
+LIBCRT0?= /dev/null
-NEED_SOLINKS=yes
+NEED_SOLINKS?=yes
.SUFFIXES: .out .a .ln .o .c ${CXX_SUFFIXES} .F .f .r .y .l .s .S .cl .p .h .sh .m4
.LIBS: .a
-AR= ar
-ARFLAGS= rl
-RANLIB= ranlib
-
-AS= as
-AFLAGS=
-COMPILE.s= ${AS} ${AFLAGS}
-LINK.s= ${CC} ${AFLAGS} ${LDFLAGS}
-COMPILE.S= ${CC} ${AFLAGS} ${CPPFLAGS} -c
-LINK.S= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS}
-.if exists(/usr/local/bin/gcc)
-CC= gcc -pipe
-DBG= -O -g
-STATIC?= -static
-.else
-CC= cc -pipe
-DBG= -g
-STATIC= -Bstatic
-.endif
-CFLAGS= ${DBG}
-COMPILE.c= ${CC} ${CFLAGS} ${CPPFLAGS} -c
-LINK.c= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}
-
-CXX= g++
-CXXFLAGS= ${CFLAGS}
-COMPILE.cc= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c
-LINK.cc= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}
+AR?= ar
+ARFLAGS?= rl
+RANLIB?= ranlib
+
+AS?= as
+AFLAGS?=
+COMPILE.s?= ${CC} ${AFLAGS} -c
+LINK.s?= ${CC} ${AFLAGS} ${LDFLAGS}
+COMPILE.S?= ${CC} ${AFLAGS} ${CPPFLAGS} -c -traditional-cpp
+LINK.S?= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS}
+CC?= gcc
+DBG?= -O -g
+STATIC?= -static
+CFLAGS?= ${DBG}
+COMPILE.c?= ${CC} ${CFLAGS} ${CPPFLAGS} -c
+LINK.c?= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}
+
+CXX?= g++
+CXXFLAGS?= ${CFLAGS}
+COMPILE.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} -c
+LINK.cc?= ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}
+
+OBJC?= ${CC}
+OBJCFLAGS?= ${CFLAGS}
+COMPILE.m?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c
+LINK.m?= ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} ${LDFLAGS}
-CPP= cpp
+CPP?= cpp
.if defined(DESTDIR)
CPPFLAGS+= -nostdinc -idirafter ${DESTDIR}/usr/include
.endif
-MK_DEP= mkdeps.sh -N
-FC= f77
-FFLAGS= -O
-RFLAGS=
-COMPILE.f= ${FC} ${FFLAGS} -c
-LINK.f= ${FC} ${FFLAGS} ${LDFLAGS}
-COMPILE.F= ${FC} ${FFLAGS} ${CPPFLAGS} -c
-LINK.F= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS}
-COMPILE.r= ${FC} ${FFLAGS} ${RFLAGS} -c
-LINK.r= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS}
-
-LEX= lex
-LFLAGS=
-LEX.l= ${LEX} ${LFLAGS}
-
-LD= ld
-LDFLAGS=
-
-LINT= lint
-LINTFLAGS= -chapbx
-
-PC= pc
-PFLAGS=
-COMPILE.p= ${PC} ${PFLAGS} ${CPPFLAGS} -c
-LINK.p= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
-
-YACC= yacc
-YFLAGS= -d
-YACC.y= ${YACC} ${YFLAGS}
+MK_DEP?= mkdeps.sh -N
+FC?= f77
+FFLAGS?= -O
+RFLAGS?=
+COMPILE.f?= ${FC} ${FFLAGS} -c
+LINK.f?= ${FC} ${FFLAGS} ${LDFLAGS}
+COMPILE.F?= ${FC} ${FFLAGS} ${CPPFLAGS} -c
+LINK.F?= ${FC} ${FFLAGS} ${CPPFLAGS} ${LDFLAGS}
+COMPILE.r?= ${FC} ${FFLAGS} ${RFLAGS} -c
+LINK.r?= ${FC} ${FFLAGS} ${RFLAGS} ${LDFLAGS}
+
+INSTALL?= install
+
+LEX?= lex
+LFLAGS?=
+LEX.l?= ${LEX} ${LFLAGS}
+
+LD?= ld
+LDFLAGS?=
+
+LINT?= lint
+LINTFLAGS?= -chapbxzF
+
+LORDER?= echo
+
+MAKE?= bmake
+
+NM?= nm
+
+PC?= pc
+PFLAGS?=
+COMPILE.p?= ${PC} ${PFLAGS} ${CPPFLAGS} -c
+LINK.p?= ${PC} ${PFLAGS} ${CPPFLAGS} ${LDFLAGS}
+
+SHELL?= sh
+
+SIZE?= size
+
+TSORT?= tsort
+
+YACC?= yacc
+YFLAGS?= -d
+YACC.y?= ${YACC} ${YFLAGS}
+
+# At least Ubuntu 8.1 sets __attribute__((warn_unused_result)) on fwrite()
+# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25509
+.if !defined(NOGCCERROR)
+CFLAGS+= -Wno-error
+.endif
# C
.c:
@@ -88,6 +107,8 @@
${COMPILE.c} ${.IMPSRC}
${AR} ${ARFLAGS} $@ $*.o
rm -f $*.o
+.c.ln:
+ ${LINT} ${LINTFLAGS} ${CPPFLAGS:M-[IDU]*} -i ${.IMPSRC}
# C++
${CXX_SUFFIXES}: