# Sophists Solutions, (c) 1990, 1991, 1992
#
#	$Header: /fuji/lewis/RCS/makeConfig,v 1.4 1992/12/09 20:51:36 lewis Exp $
#
# Description:
#
#	makeConfig
# 		Just like the unix version. Build an objects heirarchy to parallel
#		the source hierarchy...
#
#	Usage:		<<FIX ARGS>>
#		makeConfig <srcDir> <objDir>
#
#
# TODO:
#
#
# Notes:
#
#
#
# Changes:
#	$Log: makeConfig,v $
#		Revision 1.4  1992/12/09  20:51:36  lewis
#		Fixed some bugs with where I build grapix testsuite stuff, and added
#		build for Demos.
#
#		Revision 1.3  1992/11/05  22:54:19  lewis
#		Add support for a Tools subdirectory.
#
#		Revision 1.2  1992/10/08  00:58:35  sterling
#		New args to LockFiles - changed API since rewritten as tool.
#		Also, create TestSuites folder.
#
#		Revision 1.3  1992/06/09  20:00:55  lewis
#		Skip copying stuff in RCS directory.
#
#		Revision 1.2  1992/06/08  21:15:33  lewis
#		Copy FlangeFlags file too from Library. Also, call LockFiles -r {bindir} at the end,
#		so everything is copied locked.
#
#
#
#
#

Set srcDir "{1}"
Set binDir "{2}"

NewFolder "{binDir}"		# Dont overwrite - if this fails, force user to manually blow dir away...


# Miscelaneous scripts etc for top level for Bin directory
Duplicate "{srcDir}"Config.mac "{binDir}"
Duplicate "{srcDir}"ProjectStartup "{binDir}"


#Make the Library directories, and copy ProjectStartup
NewFolder "{binDir}"Library:
Duplicate "{srcDir}"Library:ProjectStartup "{binDir}"Library:
Duplicate "{srcDir}"Library:FlungeFlags "{binDir}"Library:

NewFolder "{binDir}"Library:Foundation:
NewFolder "{binDir}"Library:Foundation:Objects:
NewFolder "{binDir}"Library:Graphix:
NewFolder "{binDir}"Library:Graphix:Objects:
NewFolder "{binDir}"Library:Framework:
NewFolder "{binDir}"Library:Framework:Objects:
NewFolder "{binDir}"Library:User:
NewFolder "{binDir}"Library:User:Objects:

NewFolder "{binDir}"TestSuites:
NewFolder "{binDir}"TestSuites:Foundation:
Duplicate "{srcDir}"TestSuites:Foundation:ProjectStartup "{binDir}"TestSuites:Foundation:
NewFolder "{binDir}"TestSuites:Foundation:Objects:
NewFolder "{binDir}"TestSuites:Graphix:
Duplicate "{srcDir}"TestSuites:Graphix:ProjectStartup "{binDir}"TestSuites:Graphix:
NewFolder "{binDir}"TestSuites:Graphix:Objects:



#Make the Demos directories, and copy ProjectStartups
NewFolder "{binDir}"Demos:
NewFolder "{binDir}"Demos:Foundation:
Duplicate "{srcDir}"Demos:Foundation:ProjectStartup "{binDir}"Demos:Foundation: || Set Status 0
for srcApp in "{srcDir}"Demos:Foundation:
	(Evaluate "{srcApp}" =~ /:()1/ ) >dev:null
	Set baseName "{1}"
	if ("{baseName}" == "RCS")
		continue;
	End
	if "`Exists -d "{srcApp}"`"
		NewFolder "{binDir}"Demos:Foundation:"{baseName}":
		NewFolder "{binDir}"Demos:Foundation:"{baseName}":Objects:
		Duplicate "{srcApp}":ProjectStartup "{binDir}"Demos:Foundation:"{baseName}" || Set Status 0
	End
End;




#Make the Tools directories, and copy ProjectStartups
NewFolder "{binDir}"Tools:
NewFolder "{binDir}"Tools:MPW:
Duplicate "{srcDir}"Tools:MPW:ProjectStartup "{binDir}"Tools:MPW: || Set Status 0
for srcApp in "{srcDir}"Tools:MPW:
	(Evaluate "{srcApp}" =~ /:()1/ ) >dev:null
	Set baseName "{1}"
	if ("{baseName}" == "RCS")
		continue;
	End
	if "`Exists -d "{srcApp}"`"
		NewFolder "{binDir}"Tools:MPW:"{baseName}":
		NewFolder "{binDir}"Tools:MPW:"{baseName}":Objects:
		Duplicate "{srcApp}":ProjectStartup "{binDir}"Tools:MPW:"{baseName}" || Set Status 0
	End
End;
NewFolder "{binDir}"Tools:Portable:
Duplicate "{srcDir}"Tools:Portable:ProjectStartup "{binDir}"Tools:Portable: || Set Status 0
for srcApp in "{srcDir}"Tools:Portable:
	(Evaluate "{srcApp}" =~ /:()1/ ) >dev:null
	Set baseName "{1}"
	if ("{baseName}" == "RCS")
		continue;
	End
	if "`Exists -d "{srcApp}"`"
		NewFolder "{binDir}"Tools:Portable:"{baseName}":
		NewFolder "{binDir}"Tools:Portable:"{baseName}":Objects:
		Duplicate "{srcApp}":ProjectStartup "{binDir}"Tools:Portable:"{baseName}" || Set Status 0
	End
End;


#Make the Applications directories, and copy ProjectStartups
NewFolder "{binDir}"Applications:
Duplicate "{srcDir}"Applications:ProjectStartup "{binDir}"Applications:

for srcApp in "{srcDir}"Applications:
	(Evaluate "{srcApp}" =~ /:()1/ ) >dev:null
	Set baseName "{1}"
	if ("{baseName}" == "RCS")
		continue;
	End
	if "`Exists -d "{srcApp}"`"
		NewFolder "{binDir}"Applications:"{baseName}":
		NewFolder "{binDir}"Applications:"{baseName}":Objects:
		Duplicate "{srcApp}":ProjectStartup "{binDir}"Applications:"{baseName}"
	End
End;


# So we can tell whats changed here too...
LockFiles -r -d "{binDir}"
