diff --git a/SConstruct b/SConstruct index 8f01fe4fe..222ae14c0 100644 --- a/SConstruct +++ b/SConstruct @@ -21,7 +21,7 @@ env = Environment(ENV=os.environ, BUILDERS={'rustc': rust_rustc_builder, 'cargo': rust_cargo_builder, 'Go': go_builder}, - tools=['gcc', 'gnulink', 'g++', 'gas']) + tools=['gcc', 'gnulink', 'g++', 'gas', 'gfortran']) env['CCFLAGS'] = '' env['CXXFLAGS'] = '-std=c++17' @@ -29,11 +29,19 @@ env['ASFLAGS'] = '--64' # Add other languages here when you want to add language targets # Put 'name_of_language_directory' : 'file_extension' -languages = {'c': 'c', 'cpp': 'cpp', 'asm-x64': 's', 'rust': 'rs', 'go': 'go'} +languages = { + 'c': 'c', + 'cpp': 'cpp', + 'asm-x64': 's', + 'rust': 'rs', + 'go': 'go', + 'fortran': 'f90', +} env.C = env.Program env.CPlusPlus = env.Program env.X64 = env.Program +env.Fortran = env.Program Export('env') diff --git a/contents/euclidean_algorithm/code/fortran/SConscript b/contents/euclidean_algorithm/code/fortran/SConscript new file mode 100644 index 000000000..8146feee9 --- /dev/null +++ b/contents/euclidean_algorithm/code/fortran/SConscript @@ -0,0 +1,6 @@ +Import('*') +from pathlib import Path + +dirname = Path.cwd().parents[1].stem + +env.Fortran(f'#/build/fortran/{dirname}', 'euclidean.f90') diff --git a/sconscripts/fortran_SConscript b/sconscripts/fortran_SConscript new file mode 100644 index 000000000..df3e7fc27 --- /dev/null +++ b/sconscripts/fortran_SConscript @@ -0,0 +1,6 @@ +Import('files_to_compile env') +from pathlib import Path + +for file in files_to_compile: + chapter_name = file.parent.parent.parent.stem + env.Fortran(f'#/build/fortran/{chapter_name}', str(file))