10
0
mirror of https://gitlab.com/scemama/EZFIO.git synced 2024-12-22 20:33:42 +01:00

Merge pull request #6 from scemama/master

Bugs in build with Ninja
This commit is contained in:
Anthony Scemama 2015-06-04 00:41:57 +02:00
commit 52bce849bb
3 changed files with 15 additions and 20 deletions

View File

@ -28,7 +28,7 @@ include make.config
.PHONY: default clean veryclean archive configure .PHONY: default clean veryclean archive configure
default: make.config default: make.config
$(MAKE) -C $$PWD/src cd src && $(MAKE)
clean: clean:
- bash -c "[[ -f lib/libezfio.a ]] && rm $$PWD/lib/*" - bash -c "[[ -f lib/libezfio.a ]] && rm $$PWD/lib/*"

View File

@ -6,7 +6,7 @@ rule build_generated_ninja
generator = 1 generator = 1
rule run_ninja rule run_ninja
command = bash -c 'source make.config ; bash -c "$$NINJA -f $in"' command = bash -c 'source .make.config.sh ; exec bash -c "$$NINJA -f $in"'
description = Building Fortran library description = Building Fortran library
rule build_archive rule build_archive
@ -14,11 +14,11 @@ rule build_archive
description = Building archive description = Building archive
rule clean_all rule clean_all
command = bash -c 'source make.config ; bash -c "$$NINJA -f $in -t clean ; $$NINJA -t clean" ; rm -rf src/IRPF90_{temp,man} src/*.pyc' command = bash -c 'source .make.config.sh ; bash -c "$$NINJA -f $in -t clean ; $$NINJA -t clean" ; rm -rf src/IRPF90_{temp,man} src/*.pyc'
description = Cleaning directory description = Cleaning directory
build make.config generated.ninja: build_generated_ninja configure.py build make.config .make.config.sh generated.ninja: build_generated_ninja configure.py
build all: run_ninja generated.ninja build all: run_ninja generated.ninja
default all default all

View File

@ -19,18 +19,16 @@ d_default = {
def create_make_config(): def create_make_config():
if sys.argv[-1] == 'ninja': fmt = { "make.config" :'{0}={1}\n' ,
fmt = '{0}="{1}"\n' ".make.config.sh": '{0}="{1}"\n' }
else: for filename in fmt:
fmt = '{0}={1}\n' with open(filename,'w') as out:
with open("make.config",'w') as out:
for var,default in d_default.iteritems(): for var,default in d_default.iteritems():
try: try:
cur = os.environ[var] cur = os.environ[var]
except KeyError: except KeyError:
cur = default cur = default
out.write(fmt.format(var,cur)) out.write(fmt[filename].format(var,cur))
def read_make_config(): def read_make_config():
@ -39,8 +37,6 @@ def read_make_config():
for line in f.readlines(): for line in f.readlines():
try: try:
key, value = line.strip().split('=',1) key, value = line.strip().split('=',1)
if value.startswith('"') and value.endswith('"'):
value = value[1:-1]
except: except:
print "Error in make.config:" print "Error in make.config:"
print line print line
@ -51,7 +47,6 @@ def read_make_config():
def create_build_ninja(): def create_build_ninja():
if "make.config" not in os.listdir(os.getcwd()):
create_make_config() create_make_config()
d = read_make_config() d = read_make_config()