⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 imakesvc.cmd

📁 unix vnc 协议源码. VNC是一款远程控制工具软件.
💻 CMD
字号:
/* Rexx OS/2 * This script serves as a helper cmd file for imake. Install this in * the path just like imake itself. * * $XFree86: xc/config/imake/imakesvc.cmd,v 3.10.2.1 1997/07/19 04:59:10 dawes Exp $ */'@echo off'ADDRESS CMDCALL RxFuncAdd 'SysFileDelete', 'RexxUtil', 'SysFileDelete'CALL RxFuncAdd 'SysFileTree', 'RexxUtil', 'SysFileTree'CALL RxFuncAdd 'SysRmDir', 'RexxUtil', 'SysRmDir'CALL RxFuncAdd 'SysMkDir', 'RexxUtil', 'SysMkDir'PARSE ARG allcode = WORD(all,1)SELECT   WHEN code=1 THEN DO      /* imakesvc 1 u/n dir ruledir top current */      instflg = WORD(all,2)      imakecmd = '\imake'      ruledir = WORD(all,4)      topdir = WORD(all,5)      currentdir = WORD(all,6)      IF instflg = 'u' THEN DO          root = VALUE('X11ROOT',,'OS2ENVIRONMENT')         IF root = '' THEN DO            SAY 'Fatal error: no X11ROOT environment variable found!'            EXIT 99         END         imakecmd = 'imake'	 IF POS(':',ruledir) = 0 THEN            ruledir1 = root||ruledir	 ELSE	    ruledir1 = ruledir         topdir1 = topdir         useinst = '-DUseInstalled'      END       ELSE DO         /* in n mode, we must add a prefix ../ for MakeMakeSubdirs */         ruledir1 = '../'||ruledir         topdir1 = '../'||topdir         useinst = ''      END      ruledir = ruledir1      topdir = topdir1      curdir = DIRECTORY()      dir = fixbadprefix(WORD(all,3))      d = DIRECTORY(dir)      dirfwd=TRANSLATE(dir,'/','\')      RC = SysFileDelete('Makefile.bak')      IF exists('Makefile') THEN REN Makefile Makefile.bak      /* There is a difficulty in the Imakefiles. Some builds refer       * to directories that are in a different subtree. We need to adjust       * the CURDIR and TOPDIR and -I paths       */      IF SUBSTR(dirfwd,1,2)='..' THEN DO         /* must recalculate passed topdir, currentdir, and ruledir */         ndist = nlevels(topdir)         ncurdir = './'striplevel(dirfwd,ndist-1)         ntopdir = maketop(nlevels(ncurdir))         nruledir = ntopdir||'/config/cf'      END       ELSE DO         /* this is simple it is relative to this dir */         pfx = downlevels(dirfwd)         nruledir = ruledir         IF instflg = 'n' THEN DO /*sm120296*/            nruledir = pfx||ruledir         END         ntopdir = pfx||topdir         ncurdir = currentdir  /* use to be pfx || currentdir */      END      imakecmd useinst '-I'nruledir' -DTOPDIR='ntopdir' -DCURDIR='ncurdir'/'dirfwd      'x11make MAKE=x11make SHELL= Makefiles'      d = DIRECTORY(curdir)   END   WHEN code=2 THEN DO      /* imakesvc 2 buildincdir buildinctop currentdir file */      bid = WORD(all,3)      cid = WORD(all,4)      fil = WORD(all,5)      curdir = DIRECTORY()      d = DIRECTORY(WORD(all,2))      rc = SysFileDelete(fil)      dir = TRANSLATE(bid'/'cid'/'fil,'\','/')      COPY dir .' >nul 2>&1 '      d = DIRECTORY(curdir)   END   WHEN code=3 THEN DO      /* imakesvc 3 subdir updir file */      sdi = WORD(all,2)      fil = WORD(all,4)      curdir = DIRECTORY()      d = DIRECTORY(WORD(all,3))      rc = SysFileDelete(fil)      dir = TRANSLATE(sdi'/'fil,'\','/')      COPY dir' . >nul 2>&1'      d = DIRECTORY(curdir)   END   WHEN code=4 THEN DO      /* imakesvc 4 [-r] files... */      rec = WORD(all,2)      fp = 2      IF rec = '-r' THEN fp = 3       ELSE rec = '-n'      DO i=fp TO WORDS(all)	 CALL discard rec,TRANSLATE(WORD(all,i),'\','/')      END	   END   WHEN code=5 THEN DO      /* imakesvc 5 file */      file = TRANSLATE(WORD(all,2),'\','/')      RC = SysFileDelete(file'.bak')      if exists(file) THEN 'REN 'file file||'.bak'   END   WHEN code=6 THEN DO      /* imakesvc 6 file */      file = TRANSLATE(WORD(all,2),'\','/')      CALL SysFileDelete(file||'.bak')      if exists(file) THEN 'REN 'file file||'.bak'   END   WHEN code=7 THEN DO      /* imakesvc 7 from to */      from = TRANSLATE(WORD(all,2),'\','/')      to = TRANSLATE(WORD(all,3),'\','/')      CALL SysFileDelete(to)      COPY from to' >nul 2>&1'   END   WHEN code=8 THEN DO      /* imakesvc 8 arg */      SAY SUBWORD(TRANSLATE(all,'  ','222c'x),2)   END   WHEN code=9 THEN DO      /* imakesvc 9 dst.c incl.h src.c */      dst = TRANSLATE(WORD(all,2),'\','/')      src = TRANSLATE(WORD(all,4),'\','/')      CALL SysFileDelete(dst)      CALL LINEOUT dst,'#include "'WORD(all,3)'"'      CALL LINEOUT dst,'#include "'src'"'      CALL LINEOUT dst    END   WHEN code=10 THEN DO      /* imakesvc 10 srcfile destdir destfile suffix */      src = stripsuffix(WORD(all,2))      destdir = TRANSLATE(WORD(all,3),'\','/')      dest = stripsuffix(WORD(all,4))      suffix = WORD(all,5)      tgt = destdir'\'dest'.'suffix      /* if you have no col.exe get one from 4.4BSD */      'groff -e -t -man -Tascii 'src'.man | col -b >'tgt   END   WHEN code=11 THEN DO      /* imakesvc 11 dirtomake */      dirtomake = TRANSLATE(WORD(all,2),'\','/')      rc = SysMkDir(dirtomake)   END   WHEN code=12 THEN DO      /* imakesvc 12 srcfile destdir destfile */      src = stripsuffix(WORD(all,2))      destdir = TRANSLATE(WORD(all,3),'\','/')      dest = stripsuffix(WORD(all,4))      tgt = destdir'\'dest'.gz'      /* if you have no col.exe get one from 4.4BSD */      'groff -e -t -man -Tascii 'src'.man | col -b | gzip -n >'tgt   END   WHEN code=13 THEN DO      /* imakesvc 13 indir fromfile tofile */      ind = TRANSLATE(WORD(all,2),'\','/')      frm = TRANSLATE(WORD(all,3),'\','/')      tof = ind'\'WORD(all,4)      IF \(exists(ind)) THEN MKDIR ind      rc = SysFileDelete(tof)      COPY frm' 'tof   END   OTHERWISE NOPENDRETURNdownlevels:oldpos = 1pfx = ''DO FOREVER   newpos = POS('/',ARG(1),oldpos)   IF newpos = 0 THEN LEAVE   newpfx = '../'pfx   oldpos = newpos+1   pfx = newpfxENDRETURN pfx/* returns 1, if file exists */exists:'DIR "'arg(1)'" >nul 2>&1'IF rc = 0 THEN return 1RETURN 0discard: PROCEDURErec=ARG(1)files=ARG(2)IF rec = '-r' THEN DO   old = DIRECTORY()   nd = DIRECTORY   CALL SysFileTree files, 'deld', 'DO'   IF deld.0 > 0 THEN DO      DO m=1 TO deld.0         CALL DIRECTORY deld.m         CALL discard '-R' .         CALL DIRECTORY ..         CALL SysRmDir deld.m      END       CALL SysRmDir files   END   CALL SysFileTree files, 'delf', 'FO'   DO k=1 TO delf.0      DEL '"'delf.k'"' '>nul 2>&1'   END   CALL SysRmDir filesEND ELSE DO   DEL '"'files'"' '>nul 2>&1'ENDRETURN/* somehow make or cmd manages to convert a relative path ..\..\. to ..... */fixbadprefix:count = 1str = ARG(1)DO WHILE SUBSTR(str,count,2) = '..'   count = count+1   str = INSERT('\',str,count)   count = count+2ENDRETURN strstriplevel:str=ARG(1)n=arg(2)DO count=0 TO n   p = POS('/',str)   IF p = 0 THEN LEAVE   str = DELSTR(str,1,p)ENDRETURN strnlevels:str = ARG(1)count = 0oldpos = 1DO FOREVER   newpos = POS('/',str,oldpos)   IF newpos = 0 THEN LEAVE   oldpos = newpos + 1   count = count + 1ENDRETURN countmaketop:str = ''n = ARG(1)DO k=1 TO n  str = str||'../'ENDRETURN str||'.'stripsuffix:str = ARG(1)spos = POS('.',str)IF spos = 0 THEN   RETURN strELSE   RETURN LEFT(str,spos-1)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -