import "md5"

CC = "gcc"
CFLAGS = "-O2 -Wall -Werror -pedantic -ggdb -g3"

bunyon_files = %w(main.o rnd.o msg.o interp.o unix_glkterm.o debug.o)

gen Action do
	y = RUBY_PLATFORM.scan(/(mswin32|mingw32|bccwin32|msdosdjgpp|os2|amigaos|cygwin)/)

	case y.to_s
		when "mswin32", "mingw32", "bccwin32", "msdosdjgpp"
			@strPlatform = "WIN32"
			var[:bunexec] = "bunyon.exe"
		when "cygwin"
			@strPlatform = "UNIXLIKE"
			var[:bunexec] = "bunyon.exe"
		when "os2"
			@strPlatform = "OS2"
			var[:bunexec] = "bunyon.exe"
		when "amigaos"
			@strPlatform = "AMIGA"
			var[:bunexec] = "bunyon.exe"
		else
			@strPlatform = "UNIXLIKE"
			var[:bunexec] = "bunyon"
	end
end

desc "Build Bunyon program."
task :Bunyon => bunyon_files do |t|
	sys "#{CC} -o #{var[:bunexec]} #{t.prerequisites.join(' ')} -lglkterm -lncurses"
end

desc "Cleanup..."
task :clean do
	sys.rm_f Dir["*.{bak,o,obj}"] + [var[:bunexec]] + Dir["doc/*.bak"]
end

gen Rule, '.o' => '.c' do |t|
	sys "#{CC} #{CFLAGS} -c -o #{t.name} #{t.source}"
end
