Commits

Jason Perkins committed 52cfef7

Removed deprecated Gmake actions

Comments (0)

Files changed (6)

src/actions/make/_make.lua

 -- Copyright (c) 2002-2012 Jason Perkins and the Premake project
 --
 
-	premake.make = { }
+	premake.make = {}
 	local make = premake.make
 	local solution = premake.solution
 	local project = premake5.project
 --
 
 	newaction {
-		trigger         = "gmakeng",
-		shortname       = "GNU Make Next-gen",
-		description     = "Experimental GNU makefiles for POSIX, MinGW, and Cygwin",
+		trigger         = "gmake",
+		shortname       = "GNU Make",
+		description     = "Generate GNU makefiles for POSIX, MinGW, and Cygwin",
 
 		-- temporary, until I can phase out the legacy implementations
 		isnextgen = true,
 --
 
 	function make.detectshell()
-		-- identify the shell type
 		_p('SHELLTYPE := msdos')
 		_p('ifeq (,$(ComSpec)$(COMSPEC))')
 		_p('  SHELLTYPE := posix')
 		if (type(value) == "table") then
 			result = { }
 			for _,v in ipairs(value) do
-				table.insert(result, _MAKE.esc(v))
+				table.insert(result, make.esc(v))
 			end
 			return result
 		else

src/actions/make/make_cpp.lua

 --
 -- make_cpp.lua
 -- Generate a C/C++ project makefile.
--- Copyright (c) 2002-2011 Jason Perkins and the Premake project
+-- Copyright (c) 2002-2012 Jason Perkins and the Premake project
 --
 
 	premake.make.cpp = {}
 			_p('  AR         = %s', tool)
 		end
 	end
-
-
------------------------------------------------------------------------------
--- Everything below this point is a candidate for deprecation
------------------------------------------------------------------------------
-
-
-	function premake.make_cpp(prj)
-		-- create a shortcut to the compiler interface
-		local cc = premake.gettool(prj)
-
-		-- build a list of supported target platforms that also includes a generic build
-		local platforms = premake.filterplatforms(prj.solution, cc.platforms, "Native")
-
-		premake.gmake_cpp_header(prj, cc, platforms)
-
-		for _, platform in ipairs(platforms) do
-			for cfg in premake.eachconfig(prj, platform) do
-				premake.gmake_cpp_config(cfg, cc)
-			end
-		end
-
-		-- list intermediate files
-		_p('OBJECTS := \\')
-		for _, file in ipairs(prj.files) do
-			if path.iscppfile(file) then
-				_p('\t$(OBJDIR)/%s.o \\', _MAKE.esc(path.getbasename(file)))
-			end
-		end
-		_p('')
-
-		_p('RESOURCES := \\')
-		for _, file in ipairs(prj.files) do
-			if path.isresourcefile(file) then
-				_p('\t$(OBJDIR)/%s.res \\', _MAKE.esc(path.getbasename(file)))
-			end
-		end
-		_p('')
-
-		-- identify the shell type
-		_p('SHELLTYPE := msdos')
-		_p('ifeq (,$(ComSpec)$(COMSPEC))')
-		_p('  SHELLTYPE := posix')
-		_p('endif')
-		_p('ifeq (/bin,$(findstring /bin,$(SHELL)))')
-		_p('  SHELLTYPE := posix')
-		_p('endif')
-		_p('')
-
-		-- main build rule(s)
-		_p('.PHONY: clean prebuild prelink')
-		_p('')
-
-		if os.is("MacOSX") and prj.kind == "WindowedApp" then
-			_p('all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET) $(dir $(TARGETDIR))PkgInfo $(dir $(TARGETDIR))Info.plist')
-		else
-			_p('all: $(TARGETDIR) $(OBJDIR) prebuild prelink $(TARGET)')
-		end
-		_p('\t@:')
-		_p('')
-
-		-- target build rule
-		_p('$(TARGET): $(GCH) $(OBJECTS) $(LDDEPS) $(RESOURCES)')
-		_p('\t@echo Linking %s', prj.name)
-		_p('\t$(SILENT) $(LINKCMD)')
-		_p('\t$(POSTBUILDCMDS)')
-		_p('')
-
-		-- Create destination directories. Can't use $@ for this because it loses the
-		-- escaping, causing issues with spaces and parenthesis
-		_p('$(TARGETDIR):')
-		premake.make_mkdirrule("$(TARGETDIR)")
-
-		_p('$(OBJDIR):')
-		premake.make_mkdirrule("$(OBJDIR)")
-
-		-- Mac OS X specific targets
-		if os.is("MacOSX") and prj.kind == "WindowedApp" then
-			_p('$(dir $(TARGETDIR))PkgInfo:')
-			_p('$(dir $(TARGETDIR))Info.plist:')
-			_p('')
-		end
-
-		-- clean target
-		_p('clean:')
-		_p('\t@echo Cleaning %s', prj.name)
-		_p('ifeq (posix,$(SHELLTYPE))')
-		_p('\t$(SILENT) rm -f  $(TARGET)')
-		_p('\t$(SILENT) rm -rf $(OBJDIR)')
-		_p('else')
-		_p('\t$(SILENT) if exist $(subst /,\\\\,$(TARGET)) del $(subst /,\\\\,$(TARGET))')
-		_p('\t$(SILENT) if exist $(subst /,\\\\,$(OBJDIR)) rmdir /s /q $(subst /,\\\\,$(OBJDIR))')
-		_p('endif')
-		_p('')
-
-		-- custom build step targets
-		_p('prebuild:')
-		_p('\t$(PREBUILDCMDS)')
-		_p('')
-
-		_p('prelink:')
-		_p('\t$(PRELINKCMDS)')
-		_p('')
-
-		-- precompiler header rule
-		cpp.pchrules(prj)
-
-		-- per-file rules
-		for _, file in ipairs(prj.files) do
-			if path.iscppfile(file) then
-				_p('$(OBJDIR)/%s.o: %s', _MAKE.esc(path.getbasename(file)), _MAKE.esc(file))
-				_p('\t@echo $(notdir $<)')
-				cpp.buildcommand_old(path.iscfile(file))
-			elseif (path.getextension(file) == ".rc") then
-				_p('$(OBJDIR)/%s.res: %s', _MAKE.esc(path.getbasename(file)), _MAKE.esc(file))
-				_p('\t@echo $(notdir $<)')
-				_p('\t$(SILENT) $(RESCOMP) $< -O coff -o "$@" $(RESFLAGS)')
-			end
-		end
-		_p('')
-
-		-- include the dependencies, built by GCC (with the -MMD flag)
-		_p('-include $(OBJECTS:%%.o=%%.d)')
-	end
-
-
-
---
--- Write the makefile header
---
-
-	function premake.gmake_cpp_header(prj, cc, platforms)
-		_p('# %s project makefile autogenerated by Premake', premake.action.current().shortname)
-
-		-- set up the environment
-		_p('ifndef config')
-		_p('  config=%s', _MAKE.esc(premake.getconfigname(prj.solution.configurations[1], platforms[1], true)))
-		_p('endif')
-		_p('')
-
-		_p('ifndef verbose')
-		_p('  SILENT = @')
-		_p('endif')
-		_p('')
-
-		_p('ifndef CC')
-		_p('  CC = %s', cc.cc)
-		_p('endif')
-		_p('')
-
-		_p('ifndef CXX')
-		_p('  CXX = %s', cc.cxx)
-		_p('endif')
-		_p('')
-
-		_p('ifndef AR')
-		_p('  AR = %s', cc.ar)
-		_p('endif')
-		_p('')
-		
-		_p('ifndef RESCOMP')
-		_p('  ifdef WINDRES')
-		_p('    RESCOMP = $(WINDRES)')
-		_p('  else')
-		_p('    RESCOMP = windres')
-		_p('  endif')
-		_p('endif')
-		_p('')	
-	end
-
---
--- Write a block of configuration settings.
---
-
-	function premake.gmake_cpp_config(cfg, cc)
-
-		_p('ifeq ($(config),%s)', _MAKE.esc(cfg.shortname))
-
-		-- if this platform requires a special compiler or linker, list it here
-		cpp.platformtools_old(cfg, cc)
-
-		_p('  OBJDIR     = %s', _MAKE.esc(cfg.objectsdir))
-		_p('  TARGETDIR  = %s', _MAKE.esc(cfg.buildtarget.directory))
-		_p('  TARGET     = $(TARGETDIR)/%s', _MAKE.esc(cfg.buildtarget.name))
-		_p('  DEFINES   += %s', table.concat(cc.getdefines(cfg.defines), " "))
-		_p('  INCLUDES  += %s', table.concat(cc.getincludedirs(cfg.includedirs), " "))
-
-		-- CPPFLAGS, CFLAGS, CXXFLAGS, LDFLAGS, and RESFLAGS
-		cpp.flags_old(cfg, cc)
-
-		-- set up precompiled headers
-		cpp.pchconfig_old(cfg)
-
-		_p('  LIBS      += %s', table.concat(cc.getlinkflags(cfg), " "))
-		_p('  LDDEPS    += %s', table.concat(_MAKE.esc(premake.getlinks(cfg, "siblings", "fullpath")), " "))
-
-		if cfg.kind == "StaticLib" then
-			if cfg.platform:startswith("Universal") then
-				_p('  LINKCMD    = libtool -o $(TARGET) $(OBJECTS)')
-			else
-				_p('  LINKCMD    = $(AR) -rcs $(TARGET) $(OBJECTS)')
-			end
-		else
-			-- this was $(TARGET) $(LDFLAGS) $(OBJECTS)
-			--  but had trouble linking to certain static libs so $(OBJECTS) moved up
-			-- then $(LDFLAGS) moved to end
-			--   https://sourceforge.net/tracker/?func=detail&aid=3430158&group_id=71616&atid=531880
-			_p('  LINKCMD    = $(%s) -o $(TARGET) $(OBJECTS) $(RESOURCES) $(ARCH) $(LIBS) $(LDFLAGS)', iif(cfg.language == "C", "CC", "CXX"))
-		end
-
-		_p('  define PREBUILDCMDS')
-		if #cfg.prebuildcommands > 0 then
-			_p('\t@echo Running pre-build commands')
-			_p('\t%s', table.implode(cfg.prebuildcommands, "", "", "\n\t"))
-		end
-		_p('  endef')
-
-		_p('  define PRELINKCMDS')
-		if #cfg.prelinkcommands > 0 then
-			_p('\t@echo Running pre-link commands')
-			_p('\t%s', table.implode(cfg.prelinkcommands, "", "", "\n\t"))
-		end
-		_p('  endef')
-
-		_p('  define POSTBUILDCMDS')
-		if #cfg.postbuildcommands > 0 then
-			_p('\t@echo Running post-build commands')
-			_p('\t%s', table.implode(cfg.postbuildcommands, "", "", "\n\t"))
-		end
-		_p('  endef')
-
-		-- write out config-level makesettings blocks
-		make.settings_old(cfg, cc)
-
-		_p('endif')
-		_p('')
-	end
-
-
---
--- Platform support
---
-
-	function cpp.platformtools_old(cfg, cc)
-		local platform = cc.platforms[cfg.platform]
-		if platform.cc then
-			_p('  CC         = %s', platform.cc)
-		end
-		if platform.cxx then
-			_p('  CXX        = %s', platform.cxx)
-		end
-		if platform.ar then
-			_p('  AR         = %s', platform.ar)
-		end
-	end
-
-
---
--- Configurations
---
-
-	function cpp.flags_old(cfg, cc)
-		_p('  CPPFLAGS  += %s $(DEFINES) $(INCLUDES)', table.concat(cc.getcppflags(cfg), " "))
-		_p('  CFLAGS    += $(CPPFLAGS) $(ARCH) %s', table.concat(table.join(cc.getcflags(cfg), cfg.buildoptions), " "))
-		_p('  CXXFLAGS  += $(CFLAGS) %s', table.concat(cc.getcxxflags(cfg), " "))
-
-		-- Patch #3401184 changed the order
-		_p('  LDFLAGS   += %s', table.concat(table.join(cc.getlibdirflags(cfg), cc.getldflags(cfg), cfg.linkoptions), " "))
-
-		_p('  RESFLAGS  += $(DEFINES) $(INCLUDES) %s',
-		        table.concat(table.join(cc.getdefines(cfg.resdefines),
-		                                cc.getincludedirs(cfg.resincludedirs), cfg.resoptions), " "))
-	end
-
-
---
--- Precompiled header support
---
-
-	function cpp.pchconfig_old(cfg)
-		-- GCC needs the full path to the PCH, while Visual Studio needs
-		-- only the name (or rather, the name as specified in the #include
-		-- statement). Try to locate the PCH in the project.
-		local pchheader = cfg.pchheader
-		for _, incdir in ipairs(cfg.includedirs) do
-			local testname = path.join(incdir, cfg.pchheader)
-			if os.isfile(testname) then
-				pchheader = testname
-				break
-			end
-		end
-
-		if not cfg.flags.NoPCH and cfg.pchheader then
-			_p('  PCH        = %s', _MAKE.esc(path.getrelative(cfg.location, cfg.pchheader)))
-			_p('  GCH        = $(OBJDIR)/%s.gch', _MAKE.esc(path.getname(cfg.pchheader)))
-			_p('  CPPFLAGS  += -I$(OBJDIR) -include $(OBJDIR)/%s', _MAKE.esc(path.getname(cfg.pchheader)))
-		end
-	end
-
-
---
--- Build command for a single file.
---
-
-	function cpp.buildcommand_old(iscfile)
-		local flags = iif(iscfile, '$(CC) $(CFLAGS)', '$(CXX) $(CXXFLAGS)')
-		_p('\t$(SILENT) %s -o "$@" -MF $(@:%%.o=%%.d) -c "$<"', flags)
-	end
-
-

src/actions/make/make_csharp.lua

 		_p('  CSC        = %s', toolset.gettoolname(cfg, "csc"))
 		_p('  RESGEN     = %s', toolset.gettoolname(cfg, "resgen"))
 	end
-
-
-
-
------------------------------------------------------------------------------
--- Everything below this point is a candidate for deprecation
------------------------------------------------------------------------------
-
-
---
--- Given a .resx resource file, builds the path to corresponding .resource
--- file, matching the behavior and naming of Visual Studio.
---
-		
-	local function getresourcefilename(cfg, fname)
-		if path.getextension(fname) == ".resx" then
-		    local name = cfg.buildtarget.basename .. "."
-		    local dir = path.getdirectory(fname)
-		    if dir ~= "." then 
-				name = name .. path.translate(dir, ".") .. "."
-			end
-			return "$(OBJDIR)/" .. _MAKE.esc(name .. path.getbasename(fname)) .. ".resources"
-		else
-			return fname
-		end
-	end
-
-
-
---
--- Main function
---
-	
-	function premake.make_csharp(prj)
-		local csc = premake.dotnet
-
-		-- Do some processing up front: build a list of configuration-dependent libraries.
-		-- Libraries that are built to a location other than $(TARGETDIR) will need to
-		-- be copied so they can be found at runtime.
-		local cfglibs = { }
-		local cfgpairs = { }
-		local anycfg
-		for cfg in premake.eachconfig(prj) do
-			anycfg = cfg
-			cfglibs[cfg] = premake.getlinks(cfg, "siblings", "fullpath")
-			cfgpairs[cfg] = { }
-			for _, fname in ipairs(cfglibs[cfg]) do
-				if path.getdirectory(fname) ~= cfg.buildtarget.directory then
-					cfgpairs[cfg]["$(TARGETDIR)/" .. _MAKE.esc(path.getname(fname))] = _MAKE.esc(fname)
-				end
-			end
-		end
-		
-		-- sort the files into categories, based on their build action
-		local sources = {}
-		local embedded = { }
-		local copypairs = { }
-		
-		for fcfg in premake.project.eachfile(prj) do
-			local action = csc.getbuildaction(fcfg)
-			if action == "Compile" then
-				table.insert(sources, fcfg.name)
-			elseif action == "EmbeddedResource" then
-				table.insert(embedded, fcfg.name)
-			elseif action == "Content" then
-				copypairs["$(TARGETDIR)/" .. _MAKE.esc(path.getname(fcfg.name))] = _MAKE.esc(fcfg.name)
-			elseif path.getname(fcfg.name):lower() == "app.config" then
-				copypairs["$(TARGET).config"] = _MAKE.esc(fcfg.name)
-			end
-		end
-
-		-- Any assemblies that are on the library search paths should be copied
-		-- to $(TARGETDIR) so they can be found at runtime
-		local paths = table.translate(prj.libdirs, function(v) return path.join(prj.basedir, v) end)
-		paths = table.join({prj.basedir}, paths)
-		for _, libname in ipairs(premake.getlinks(prj, "system", "fullpath")) do
-			local libdir = os.pathsearch(libname..".dll", unpack(paths))
-			if (libdir) then
-				local target = "$(TARGETDIR)/" .. _MAKE.esc(path.getname(libname))
-				local source = path.getrelative(prj.basedir, path.join(libdir, libname))..".dll"
-				copypairs[target] = _MAKE.esc(source)
-			end
-		end
-		
-		-- end of preprocessing --
-
-
-		-- set up the environment
-		_p('# %s project makefile autogenerated by Premake', premake.action.current().shortname)
-		_p('')
-		
-		_p('ifndef config')
-		_p('  config=%s', _MAKE.esc(prj.configurations[1]:lower()))
-		_p('endif')
-		_p('')
-		
-		_p('ifndef verbose')
-		_p('  SILENT = @')
-		_p('endif')
-		_p('')
-		
-		_p('ifndef CSC')
-		_p('  CSC=%s', csc.getcompilervar(prj))
-		_p('endif')
-		_p('')
-		
-		_p('ifndef RESGEN')
-		_p('  RESGEN=resgen')
-		_p('endif')
-		_p('')
-
-		-- Platforms aren't support for .NET projects, but I need the ability to match
-		-- the buildcfg:platform identifiers with a block of settings. So enumerate the
-		-- pairs the same way I do for C/C++ projects, but always use the generic settings
-		local platforms = premake.filterplatforms(prj.solution, premake[_OPTIONS.cc].platforms)
-		table.insert(platforms, 1, "")
-
-		-- write the configuration blocks
-		for cfg in premake.eachconfig(prj) do
-			premake.gmake_cs_config(cfg, csc, cfglibs)
-		end
-
-		-- set project level values
-		_p('# To maintain compatibility with VS.NET, these values must be set at the project level')
-		_p('TARGET     := $(TARGETDIR)/%s', _MAKE.esc(prj.buildtarget.name))
-		_p('FLAGS      += /t:%s %s', csc.getkind(prj):lower(), table.implode(_MAKE.esc(prj.libdirs), "/lib:", "", " "))
-		_p('REFERENCES += %s', table.implode(_MAKE.esc(premake.getlinks(prj, "system", "basename")), "/r:", ".dll", " "))
-		_p('')
-		
-		-- list source files
-		_p('SOURCES := \\')
-		for _, fname in ipairs(sources) do
-			_p('\t%s \\', _MAKE.esc(path.translate(fname)))
-		end
-		_p('')
-		
-		_p('EMBEDFILES := \\')
-		for _, fname in ipairs(embedded) do
-			_p('\t%s \\', getresourcefilename(prj, fname))
-		end
-		_p('')
-
-		_p('COPYFILES += \\')
-		for target, source in pairs(cfgpairs[anycfg]) do
-			_p('\t%s \\', target)
-		end
-		for target, source in pairs(copypairs) do
-			_p('\t%s \\', target)
-		end
-		_p('')
-
-		-- identify the shell type
-		_p('SHELLTYPE := msdos')
-		_p('ifeq (,$(ComSpec)$(COMSPEC))')
-		_p('  SHELLTYPE := posix')
-		_p('endif')
-		_p('ifeq (/bin,$(findstring /bin,$(SHELL)))')
-		_p('  SHELLTYPE := posix')
-		_p('endif')
-		_p('')
-
-		-- main build rule(s)
-		_p('.PHONY: clean prebuild prelink')
-		_p('')
-		
-		_p('all: $(TARGETDIR) $(OBJDIR) prebuild $(EMBEDFILES) $(COPYFILES) prelink $(TARGET)')
-		_p('')
-		
-		_p('$(TARGET): $(SOURCES) $(EMBEDFILES) $(DEPENDS)')
-		_p('\t$(SILENT) $(CSC) /nologo /out:$@ $(FLAGS) $(REFERENCES) $(SOURCES) $(patsubst %%,/resource:%%,$(EMBEDFILES))')
-		_p('\t$(POSTBUILDCMDS)')
-		_p('')
-
-		-- Create destination directories. Can't use $@ for this because it loses the
-		-- escaping, causing issues with spaces and parenthesis
-		_p('$(TARGETDIR):')
-		premake.make_mkdirrule("$(TARGETDIR)")
-		
-		_p('$(OBJDIR):')
-		premake.make_mkdirrule("$(OBJDIR)")
-
-		-- clean target
-		_p('clean:')
-		_p('\t@echo Cleaning %s', prj.name)
-		_p('ifeq (posix,$(SHELLTYPE))')
-		_p('\t$(SILENT) rm -f $(TARGETDIR)/%s.* $(COPYFILES)', prj.buildtarget.basename)
-		_p('\t$(SILENT) rm -rf $(OBJDIR)')
-		_p('else')
-		_p('\t$(SILENT) if exist $(subst /,\\\\,$(TARGETDIR)/%s.*) del $(subst /,\\\\,$(TARGETDIR)/%s.*)', prj.buildtarget.basename, prj.buildtarget.basename)
-		for target, source in pairs(cfgpairs[anycfg]) do
-			_p('\t$(SILENT) if exist $(subst /,\\\\,%s) del $(subst /,\\\\,%s)', target, target)
-		end
-		for target, source in pairs(copypairs) do
-			_p('\t$(SILENT) if exist $(subst /,\\\\,%s) del $(subst /,\\\\,%s)', target, target)
-		end
-		_p('\t$(SILENT) if exist $(subst /,\\\\,$(OBJDIR)) rmdir /s /q $(subst /,\\\\,$(OBJDIR))')
-		_p('endif')
-		_p('')
-
-		-- custom build step targets
-		_p('prebuild:')
-		_p('\t$(PREBUILDCMDS)')
-		_p('')
-		
-		_p('prelink:')
-		_p('\t$(PRELINKCMDS)')
-		_p('')
-
-		-- per-file rules
-		_p('# Per-configuration copied file rules')
-		for cfg in premake.eachconfig(prj) do
-			_p('ifneq (,$(findstring %s,$(config)))', _MAKE.esc(cfg.name:lower()))
-			for target, source in pairs(cfgpairs[cfg]) do
-				premake.make_copyrule(source, target)
-			end
-			_p('endif')
-			_p('')
-		end
-		
-		_p('# Copied file rules')
-		for target, source in pairs(copypairs) do
-			premake.make_copyrule(source, target)
-		end
-
-		_p('# Embedded file rules')
-		for _, fname in ipairs(embedded) do 
-			if path.getextension(fname) == ".resx" then
-				_p('%s: %s', getresourcefilename(prj, fname), _MAKE.esc(fname))
-				_p('\t$(SILENT) $(RESGEN) $^ $@')
-			end
-			_p('')
-		end
-		
-	end
-
-
---
--- Write a block of configuration settings.
---
-
-	function premake.gmake_cs_config(cfg, csc, cfglibs)
-			
-		_p('ifneq (,$(findstring %s,$(config)))', _MAKE.esc(cfg.name:lower()))
-		_p('  TARGETDIR  := %s', _MAKE.esc(cfg.buildtarget.directory))
-		_p('  OBJDIR     := %s', _MAKE.esc(cfg.objectsdir))
-		_p('  DEPENDS    := %s', table.concat(_MAKE.esc(premake.getlinks(cfg, "dependencies", "fullpath")), " "))
-		_p('  REFERENCES := %s', table.implode(_MAKE.esc(cfglibs[cfg]), "/r:", "", " "))
-		_p('  FLAGS      += %s %s', table.implode(cfg.defines, "/d:", "", " "), table.concat(table.join(csc.getflags(cfg), cfg.buildoptions), " "))
-		
-		_p('  define PREBUILDCMDS')
-		if #cfg.prebuildcommands > 0 then
-			_p('\t@echo Running pre-build commands')
-			_p('\t%s', table.implode(cfg.prebuildcommands, "", "", "\n\t"))
-		end
-		_p('  endef')
-		
-		_p('  define PRELINKCMDS')
-		if #cfg.prelinkcommands > 0 then
-			_p('\t@echo Running pre-link commands')
-			_p('\t%s', table.implode(cfg.prelinkcommands, "", "", "\n\t"))
-		end
-		_p('  endef')
-		
-		_p('  define POSTBUILDCMDS')
-		if #cfg.postbuildcommands > 0 then
-			_p('\t@echo Running post-build commands')
-			_p('\t%s', table.implode(cfg.postbuildcommands, "", "", "\n\t"))
-		end
-		_p('  endef')
-		
-		_p('endif')
-		_p('')
-
-	end

src/actions/make/make_solution.lua

 			_p('')
 		end
 	end
-
-
-
------------------------------------------------------------------------------
--- Everything below this point is a candidate for deprecation
------------------------------------------------------------------------------
-
-	function premake.make_solution(sln)
-		-- create a shortcut to the compiler interface
-		local cc = premake[_OPTIONS.cc]
-
-		-- build a list of supported target platforms that also includes a generic build
-		local platforms = premake.filterplatforms(sln, cc.platforms, "Native")
-
-		-- write a header showing the build options
-		_p('# %s solution makefile autogenerated by Premake', premake.action.current().shortname)
-		_p('# Type "make help" for usage help')
-		_p('')
-		
-		-- set a default configuration
-		_p('ifndef config')
-		_p('  config=%s', _MAKE.esc(premake.getconfigname(sln.configurations[1], platforms[1], true)))
-		_p('endif')
-		_p('export config')
-		_p('')
-
-		-- list the projects included in the solution
-		_p('PROJECTS := %s', table.concat(_MAKE.esc(table.extract(sln.projects, "name")), " "))
-		_p('')
-		_p('.PHONY: all clean help $(PROJECTS)')
-		_p('')
-		_p('all: $(PROJECTS)')
-		_p('')
-
-		-- write the project build rules
-		for _, prj in ipairs(sln.projects) do
-			_p('%s: %s', _MAKE.esc(prj.name), table.concat(_MAKE.esc(table.extract(premake.getdependencies(prj), "name")), " "))
-			_p('\t@echo "==== Building %s ($(config)) ===="', prj.name)
-			_p('\t@${MAKE} --no-print-directory -C %s -f %s', _MAKE.esc(path.getrelative(sln.location, prj.location)), _MAKE.esc(make.getmakefilename(prj, true)))
-			_p('')
-		end
-
-		-- clean rules
-		_p('clean:')
-		for _ ,prj in ipairs(sln.projects) do
-			_p('\t@${MAKE} --no-print-directory -C %s -f %s clean', _MAKE.esc(path.getrelative(sln.location, prj.location)), _MAKE.esc(make.getmakefilename(prj, true)))
-		end
-		_p('')
-		
-		-- help rule
-		_p('help:')
-		_p(1,'@echo "Usage: make [config=name] [target]"')
-		_p(1,'@echo ""')
-		_p(1,'@echo "CONFIGURATIONS:"')
-
-		local cfgpairs = { }
-		for _, platform in ipairs(platforms) do
-			for _, cfgname in ipairs(sln.configurations) do
-				_p(1,'@echo "   %s"', premake.getconfigname(cfgname, platform, true))
-			end
-		end
-
-		_p(1,'@echo ""')
-		_p(1,'@echo "TARGETS:"')
-		_p(1,'@echo "   all (default)"')
-		_p(1,'@echo "   clean"')
-
-		for _, prj in ipairs(sln.projects) do
-			_p(1,'@echo "   %s"', prj.name)
-		end
-
-		_p(1,'@echo ""')
-		_p(1,'@echo "For more information, see http://industriousone.com/premake/quick-start"')
-		
-	end

src/tools/gcc.lua

 	function premake.gcc.getlibdirflags(cfg)
 		local result = { }
 		for _, value in ipairs(premake.getlinks(cfg, "all", "directory")) do
-			table.insert(result, '-L' .. _MAKE.esc(value))
+			table.insert(result, '-L' .. make.esc(value))
 		end
 		return result
 	end
 			else
 				--premake does not support creating frameworks so this is just a SharedLib link
 				--link using -lname
-				table.insert(result, '-l' .. _MAKE.esc(value.linktarget.basename))
+				table.insert(result, '-l' .. premake.make.esc(value.linktarget.basename))
 			end
 		end
 
 		-- "-llib" is fine for system dependencies
 		for _, value in ipairs(premake.getlinks(cfg, "system", "basename")) do
 			if path.getextension(value) == ".framework" then
-				table.insert(result, '-framework ' .. _MAKE.esc(path.getbasename(value)))
+				table.insert(result, '-framework ' .. premake.make.esc(path.getbasename(value)))
 			else
-				table.insert(result, '-l' .. _MAKE.esc(value))
+				table.insert(result, '-l' .. premake.make.esc(value))
 			end
 		end
 		return result
 	function premake.gcc.getincludedirs(includedirs)
 		local result = { }
 		for _,dir in ipairs(includedirs) do
-			table.insert(result, "-I" .. _MAKE.esc(dir))
+			table.insert(result, "-I" .. premake.make.esc(dir))
 		end
 		return result
 	end

src/tools/snc.lua

 	function premake.snc.getlibdirflags(cfg)
 		local result = { }
 		for _, value in ipairs(premake.getlinks(cfg, "all", "directory")) do
-			table.insert(result, '-L' .. _MAKE.esc(value))
+			table.insert(result, '-L' .. premake.make.esc(value))
 		end
 		return result
 	end
 	function premake.snc.getlinkflags(cfg)
 		local result = { }
 		for _, value in ipairs(premake.getlinks(cfg, "all", "basename")) do
-			table.insert(result, '-l' .. _MAKE.esc(value))
+			table.insert(result, '-l' .. premake.make.esc(value))
 		end
 		return result
 	end
 	function premake.snc.getincludedirs(includedirs)
 		local result = { }
 		for _,dir in ipairs(includedirs) do
-			table.insert(result, "-I" .. _MAKE.esc(dir))
+			table.insert(result, "-I" .. premake.make.esc(dir))
 		end
 		return result
 	end