diff options
Diffstat (limited to 'configure.lua')
| -rw-r--r-- | configure.lua | 25 | 
1 files changed, 21 insertions, 4 deletions
diff --git a/configure.lua b/configure.lua index 3fa6f17..9bfe342 100644 --- a/configure.lua +++ b/configure.lua @@ -81,6 +81,7 @@ end  function build_unix()  	local compiler_c = nil  	local compiler_cpp = nil +	local compiler_prep = nil  	local ar = nil  	if os.execute("gcc --version") then  		compiler_c = "gcc" @@ -92,13 +93,20 @@ function build_unix()  	if os.execute("ar --version") then  		ar = "ar"  	end +	if os.execute("cpp --version") then +		compiler_prep = "cpp" +	end  	if not compiler_c or not compiler_cpp then  		print("didn't find a valid compiler :(")  		os.exit(2)  	end -	print("c   compiler: " .. compiler_c) -	print("c++ compiler: " .. compiler_cpp) -	print("ar:           " .. ar) +	if not compiler_prep then +		print("didn't find a C preprocessor") +	end +	print("c   compiler:     " .. compiler_c) +	print("c++ compiler:     " .. compiler_cpp) +	print("c   preprocessor: " .. compiler_prep) +	print("ar:               " .. ar)  	local outfile = io.open("Makefile", "w")  	if not outfile then @@ -200,12 +208,20 @@ function build_unix()  	local function shaders(stype, dtype, tool, tab)  		for _, fname in ipairs(tab) do  			outfile:write(string.format( -				"data/%s.%s: intermediate/%s.%s %s | data\n\t./%s intermediate/%s.%s data/%s.%s\n", +				"data/%s.%s: intermediate/%s.%s %s | data\n" .. +				"\t%s -MMD -MF data/%s.d -MT data/%s.%s -Iintermediate intermediate/%s.%s > /dev/null\n" .. +				"\t./%s intermediate/%s.%s data/%s.%s\n",  				fname,  				dtype,  				fname,  				stype,  				tool, +				compiler_prep, +				fname, +				fname, +				dtype, +				fname, +				stype,  				tool,  				fname,  				stype, @@ -213,6 +229,7 @@ function build_unix()  				dtype  			))  			all_shaders[#all_shaders + 1] = "data/" .. fname .. "." .. dtype +			all_deps[#all_deps + 1] = "data/" .. fname .. ".d"  			all_assets[#all_assets + 1] = fname .. "." .. dtype  		end  		outfile:write("\n")  |