help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bisecting gnu make


From: Dmitry Goncharov
Subject: Re: bisecting gnu make
Date: Sat, 9 Mar 2024 12:16:42 -0500

On Fri, Mar 8, 2024 at 9:32 AM DSB <yahoo@boyski.com> wrote:
> Is there a scripted way to
> reliably build make at each bisection point (assuming 4.3 as the minimum)?

There is definitely a scripted way to do this.
i use this small makefile (see in the attachment) instead of the
automake generated one.
This makefile builds make from all .c files located in src/ and lib/.
Keep your src/ and lib/ free of stray .c files.
This makefile also correctly handles removals of header files and all
other known .d file necessities.

To use it
1. Create a subdirectory in your make source code directory. Step to
this newly created subdirectory.
2. Run ../configure. This needs to be done once to generate config.h.
3. Run make -f ../test.mk.
4. Checkout another commit and run make -f ../test.mk. No need to run
configure or bootstrap again.

Here is a sample bash session.

dgoncharov@opti:~/src/gmake/make $ mkdir t64
dgoncharov@opti:~/src/gmake/make $ cd t64
dgoncharov@opti:~/src/gmake/make/t64 $ ../configure --without-guile
'CFLAGS=-Wall -Wextra -ggdb -O0 -DMAKE_MAINTAINER_MODE=1 -m64
-fsanitize=leak -fsanitize=undefined
-fsanitize-address-use-after-scope -fsanitize=address
-fsanitize=pointer-compare -fsanitize=pointer-subtract' LDFLAGS=-m64 >
/dev/null
dgoncharov@opti:~/src/gmake/make/t64 $ make -f ../test.mk
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF ar.td -o ar.o -c
../src/ar.c || exit 1
read obj src headers <ar.td; echo "$headers" >ar.d || exit 1
touch -c ar.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF arscan.td -o
arscan.o -c ../src/arscan.c || exit 1
read obj src headers <arscan.td; echo "$headers" >arscan.d || exit 1
touch -c arscan.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF commands.td -o
commands.o -c ../src/commands.c || exit 1
read obj src headers <commands.td; echo "$headers" >commands.d || exit 1
touch -c commands.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF default.td -o
default.o -c ../src/default.c || exit 1
read obj src headers <default.td; echo "$headers" >default.d || exit 1
touch -c default.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF dir.td -o dir.o
-c ../src/dir.c || exit 1
read obj src headers <dir.td; echo "$headers" >dir.d || exit 1
touch -c dir.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF expand.td -o
expand.o -c ../src/expand.c || exit 1
read obj src headers <expand.td; echo "$headers" >expand.d || exit 1
touch -c expand.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF file.td -o
file.o -c ../src/file.c || exit 1
read obj src headers <file.td; echo "$headers" >file.d || exit 1
touch -c file.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF function.td -o
function.o -c ../src/function.c || exit 1
read obj src headers <function.td; echo "$headers" >function.d || exit 1
touch -c function.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF getopt.td -o
getopt.o -c ../src/getopt.c || exit 1
read obj src headers <getopt.td; echo "$headers" >getopt.d || exit 1
touch -c getopt.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF getopt1.td -o
getopt1.o -c ../src/getopt1.c || exit 1
read obj src headers <getopt1.td; echo "$headers" >getopt1.d || exit 1
touch -c getopt1.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF guile.td -o
guile.o -c ../src/guile.c || exit 1
read obj src headers <guile.td; echo "$headers" >guile.d || exit 1
touch -c guile.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF hash.td -o
hash.o -c ../src/hash.c || exit 1
read obj src headers <hash.td; echo "$headers" >hash.d || exit 1
touch -c hash.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF implicit.td -o
implicit.o -c ../src/implicit.c || exit 1
read obj src headers <implicit.td; echo "$headers" >implicit.d || exit 1
touch -c implicit.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF job.td -o job.o
-c ../src/job.c || exit 1
read obj src headers <job.td; echo "$headers" >job.d || exit 1
touch -c job.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF load.td -o
load.o -c ../src/load.c || exit 1
read obj src headers <load.td; echo "$headers" >load.d || exit 1
touch -c load.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF loadapi.td -o
loadapi.o -c ../src/loadapi.c || exit 1
read obj src headers <loadapi.td; echo "$headers" >loadapi.d || exit 1
touch -c loadapi.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF main.td -o
main.o -c ../src/main.c || exit 1
read obj src headers <main.td; echo "$headers" >main.d || exit 1
touch -c main.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF misc.td -o
misc.o -c ../src/misc.c || exit 1
read obj src headers <misc.td; echo "$headers" >misc.d || exit 1
touch -c misc.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF output.td -o
output.o -c ../src/output.c || exit 1
read obj src headers <output.td; echo "$headers" >output.d || exit 1
touch -c output.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF posixos.td -o
posixos.o -c ../src/posixos.c || exit 1
read obj src headers <posixos.td; echo "$headers" >posixos.d || exit 1
touch -c posixos.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF read.td -o
read.o -c ../src/read.c || exit 1
read obj src headers <read.td; echo "$headers" >read.d || exit 1
touch -c read.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF remake.td -o
remake.o -c ../src/remake.c || exit 1
read obj src headers <remake.td; echo "$headers" >remake.d || exit 1
touch -c remake.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF remote-stub.td
-o remote-stub.o -c ../src/remote-stub.c || exit 1
read obj src headers <remote-stub.td; echo "$headers" >remote-stub.d || exit 1
touch -c remote-stub.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF rule.td -o
rule.o -c ../src/rule.c || exit 1
read obj src headers <rule.td; echo "$headers" >rule.d || exit 1
touch -c rule.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF shuffle.td -o
shuffle.o -c ../src/shuffle.c || exit 1
read obj src headers <shuffle.td; echo "$headers" >shuffle.d || exit 1
touch -c shuffle.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF signame.td -o
signame.o -c ../src/signame.c || exit 1
read obj src headers <signame.td; echo "$headers" >signame.d || exit 1
touch -c signame.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF strcache.td -o
strcache.o -c ../src/strcache.c || exit 1
read obj src headers <strcache.td; echo "$headers" >strcache.d || exit 1
touch -c strcache.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF variable.td -o
variable.o -c ../src/variable.c || exit 1
read obj src headers <variable.td; echo "$headers" >variable.d || exit 1
touch -c variable.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF version.td -o
version.o -c ../src/version.c || exit 1
read obj src headers <version.td; echo "$headers" >version.d || exit 1
touch -c version.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF vpath.td -o
vpath.o -c ../src/vpath.c || exit 1
read obj src headers <vpath.td; echo "$headers" >vpath.d || exit 1
touch -c vpath.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF warning.td -o
warning.o -c ../src/warning.c || exit 1
read obj src headers <warning.td; echo "$headers" >warning.d || exit 1
touch -c warning.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF alloca.td -o
alloca.o -c ../lib/alloca.c || exit 1
read obj src headers <alloca.td; echo "$headers" >alloca.d || exit 1
touch -c alloca.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF
concat-filename.td -o concat-filename.o -c ../lib/concat-filename.c ||
exit 1
read obj src headers <concat-filename.td; echo "$headers"
>concat-filename.d || exit 1
touch -c concat-filename.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF findprog-in.td
-o findprog-in.o -c ../lib/findprog-in.c || exit 1
read obj src headers <findprog-in.td; echo "$headers" >findprog-in.d || exit 1
touch -c findprog-in.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF fnmatch.td -o
fnmatch.o -c ../lib/fnmatch.c || exit 1
read obj src headers <fnmatch.td; echo "$headers" >fnmatch.d || exit 1
touch -c fnmatch.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF getloadavg.td -o
getloadavg.o -c ../lib/getloadavg.c || exit 1
read obj src headers <getloadavg.td; echo "$headers" >getloadavg.d || exit 1
touch -c getloadavg.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF glob.td -o
glob.o -c ../lib/glob.c || exit 1
read obj src headers <glob.td; echo "$headers" >glob.d || exit 1
touch -c glob.o
cc -I../src -I../lib -Isrc -DLOCALEDIR=\"/usr/local/share/locale\"
-DLIBDIR=\"/usr/local/lib\"  -Wall -Wextra -Wno-error -ggdb -O0 -m64
-fno-omit-frame-pointer -fno-common -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak  -MMD -MF strtol.td -o
strtol.o -c ../lib/strtol.c || exit 1
read obj src headers <strtol.td; echo "$headers" >strtol.d || exit 1
touch -c strtol.o
cc -o make ar.o arscan.o commands.o default.o dir.o expand.o file.o
function.o getopt.o getopt1.o guile.o hash.o implicit.o job.o load.o
loadapi.o main.o misc.o output.o posixos.o read.o remake.o
remote-stub.o rule.o shuffle.o signame.o strcache.o variable.o
version.o vpath.o warning.o alloca.o concat-filename.o findprog-in.o
fnmatch.o getloadavg.o glob.o strtol.o -fsanitize=address
-fsanitize=pointer-compare -fsanitize=undefined
-fsanitize=pointer-subtract -fsanitize=leak
dgoncharov@opti:~/src/gmake/make/t64 $

This makefile assumes the gcc depfiles format. See here
https://github.com/dgoncharov/efficient-autodeps-with-gmake how to
modify this makefile if your compiler generates  depfiles of the other
format.


regards, Dmitry

Attachment: test.mk
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]