build: store build.ninja outside build directory
This preserves configuration options after a make clean (and also allows you to call ninja-build directly).
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -2,3 +2,4 @@
|
||||
.project
|
||||
.settings
|
||||
build
|
||||
build.ninja
|
||||
4
Makefile
4
Makefile
@@ -1,9 +1,9 @@
|
||||
out = build
|
||||
|
||||
all: $(out)/build.ninja
|
||||
all: build.ninja
|
||||
@ninja-build -f $<
|
||||
|
||||
$(out)/build.ninja:
|
||||
build.ninja:
|
||||
python3 configure.py
|
||||
|
||||
clean:
|
||||
|
||||
@@ -55,7 +55,7 @@ args = arg_parser.parse_args()
|
||||
globals().update(vars(args))
|
||||
|
||||
outdir = 'build'
|
||||
buildfile = outdir + '/build.ninja'
|
||||
buildfile = 'build.ninja'
|
||||
os.makedirs(outdir, exist_ok = True)
|
||||
with open(buildfile, 'w') as f:
|
||||
f.write(textwrap.dedent('''\
|
||||
@@ -94,5 +94,5 @@ with open(buildfile, 'w') as f:
|
||||
rule configure
|
||||
command = python3 configure.py $configure_args
|
||||
generator = 1
|
||||
build $builddir/build.ninja: configure | configure.py
|
||||
build build.ninja: configure | configure.py
|
||||
'''))
|
||||
|
||||
Reference in New Issue
Block a user