home *** CD-ROM | disk | FTP | other *** search
- /* Edge macro: hn_projectsettings
- **
- ** $VER: hn_projectsettings.edge 1.0 (17-Feb-93 13:48:11)
- **
- ** Usage: hn_projectsettings PROJECT|SUBPROJECT|ARGUMENTS|EDIT|NEW
- ** PROJECT : Select main project
- ** SUBPROJECT : Select sub project
- ** ARGUMENTS : Select arguments used when running program
- ** EDIT : Edit project makefile
- ** NEW : Create a NEW project
- **
- ** Synopsis:
- **
- ** Author: Henrik Nordström
- ** Ängsvägen 1
- ** S 756 45 Uppsala
- **
- ** System: _fe_user9=<project>,<subproject>,<arguments>
- **
- */
-
- options results
-
- parse upper arg mode
-
- 'getenvvar _fe_user9 RAW'
- settings=replacestar(RESULT)
- parse var settings projectdir ',' subproject ',' arguments
-
- select
- when mode='PROJECT' then do
- 'requestfile TITLE "Select project" PATH "'projectdir'" GETDIR DIR'
- if RC~=0 then exit(RC)
- projectdir=result
- subproject=''
- arguments=''
- end
- when mode='SUBPROJECT' then do
- 'requestfile TITLE "Select subproject" PATH "'projectdir'" FILE "'subproject'" SAVE GETDIR'
- if RC~=0 then exit(RC)
- project=result
- /* Split into path and filename */
- st=lastpos('/',project)
- if st==0 then st=lastpos(':',project)
- subproject=substr(project,st+1)
- projectdir=left(project,st)
- end
- when mode='ARGUMENTS' then do
- 'requeststring title "Arguments?" default "'arguments'"'
- if RC~=0 then exit(RC)
- arguments=replacestar(RESULT)
- end
- when mode='NEW' then do
- 'requestfile TITLE "Select new project" PATH "'projectdir'" GETDIR SAVE DIR'
- if RC~=0 then exit RC
- projectdir=result
- subproject=''
- arguments=''
- call hn_createproject(projectdir)
- end
- when mode='EDIT' then do
- 'new PATH "'projectdir'" NAME MakeFile'
- address value result
- 'open "'projectdir||MakeFile'"'
- if subproject~="" then 'find "'projectname':" UCEQLC FORWARD CIRCULAR '
- end
- otherwise do
- say 'USAGE: hn_projectsettings PROJECT|SUBPROJECT|ARGUMENTS|EDIT|NEW'
- exit(10)
- end
- end
-
- /* Create absolute path */
- call pragma('d',projectdir)
- projectdir=pragma(d)
- if right(projectdir,1)~=':' then
- projectdir=projectdir||'/'
-
- 'putenvvar _fe_user9 "'projectdir','subproject','arguments'"'
-
- 'getenvvar _fe_name'
- if compare(result,'NONAME')=7 then 'putenvvar _fe_path "'projectdir'"'
-
- exit 0
-
- /* Replace * with ** */
- replacestar: procedure
- str=arg(1)
- i=index(str,'*',1)
- do while i>0
- str=insert('*',str,i)
- i=index(str,'*',i+2)
- end
- return str
-