home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / lxapi32.zip / SKELETON / Tools / Config.cmd < prev   
OS/2 REXX Batch file  |  2002-04-26  |  4KB  |  116 lines

  1. /* $Id: Config.cmd,v 1.2 2002/04/26 23:09:43 smilcke Exp $ */
  2.  
  3. /*
  4.  * Configuration script.
  5.  * Generates global makefile.inc.
  6.  *
  7.  * Copyright (c) 1999-2000 knut st. osmundsen (knut.stange.osmundsen@pmsc.no)
  8.  * Modified for SKELETON-Drivers 2002 Stefan Milcke
  9.  *
  10. */
  11.  
  12. Call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs';
  13. Call SysLoadFuncs;
  14.  
  15. Parse Arg sIncFile
  16. if (sIncFile='') Then sIncFile='paths.mak'
  17.  
  18. Say 'Current directory:'directory()
  19. Say 'Generating 'directory()'\'sIncFile
  20.  
  21. /* Status */
  22. Say 'Configuring the SKEL32 driver...'
  23.  
  24. /* delete old file */
  25. Call SysFileDelete sIncFile
  26.  
  27. /* open target file */
  28. If (Stream(sIncFile, 'C', 'OPEN WRITE' ) <> '') Then
  29. Do
  30.  Call LineOut sIncFile, '################################################################################'
  31.  Call LineOut sIncFile, '# Generated by 'directory()'\config.cmd'
  32.  Call LineOut sIncFile, '################################################################################'
  33.  Call LineOut sIncFile, ''
  34.  Call LineOut sIncFile, '################################################################################'
  35.  Call LineOut sIncFile, '# Base directories'
  36.  Call LineOut sIncFile, '# Note! These should be absolute paths!'
  37.  Call LineOut sIncFile, '################################################################################'
  38.  Call LineOut sIncFile, ''
  39.  Call LineOut sIncFile, '!ifndef DEVTYPE'
  40.  Call LineOut sIncFile, '!error DEVTYPE not defined!'
  41.  Call LineOut sIncFile, '!endif'
  42.  sBase=directory();
  43.  Call LineOut sIncFile, ''
  44.  Call LineOut sIncFile, 'DRV_BASE        ='sBase
  45.  Call LineOut sIncFile, 'LX_BASE         =$(%LXAPI32DEV)'
  46.  Call LineOut sIncFile, ''
  47.  Call LineOut sIncFile, 'LX_MAINMAKE     =$(LX_BASE)\makes\mainmake.mak'
  48.  Call LineOut sIncFile, ''
  49.  Call LineOut sIncFile, 'LX_LIB          =$(LX_BASE)\lib'
  50.  Call LineOut sIncFile, ''
  51.  Call WriteSubDir 'DRV_BIN'    ,'bin'
  52.  Call WriteSubDir 'DRV_INC'    ,'inc'
  53.  Call LineOut sIncFile, 'DRV_INCLUDE     =..\include;$(LX_BASE)\include'
  54.  Call WriteSubDir 'DRV_LIB'    ,'lib'
  55.  Call WriteSubDir 'DRV_MAKES'    ,'makes'
  56.  Call WriteSubDir 'DRV_TOOLS'    ,'tools'
  57.  Call WriteSubDir 'DRV_BTTV'    ,'bttv'
  58.  Call WriteSubDir 'DRV_LIB32'    ,'lib32'
  59.  Call WriteSubDir 'DRV_DEV32'    ,'dev32'
  60.  Call WriteSubDir 'DRV_LINUX'    ,'linux'
  61.  Call LineOut sIncFile, 'DRV_OBJ         =bin'
  62.  Call LineOut sIncFile, ''
  63.  Call LineOut sIncFile, '!ifeq DEVTYPE DEV32'
  64.  Call WriteSubDir 'DRV_SRC'    ,'dev32'
  65.  Call LineOut sIncFile, '!endif'
  66.  
  67.  Call LineOut sIncFile, ''
  68.  Call LineOut sIncFile, '!ifeq DEVTYPE LIB32'
  69.  Call WriteSubDir 'DRV_SRC'    ,'lib32'
  70.  Call LineOut sIncFile, '!endif'
  71.  
  72.  Call LineOut sIncFile, ''
  73.  Call LineOut sIncFile, '!ifeq DEVTYPE SKEL'
  74.  Call WriteSubDir 'DRV_SRC'    ,'skel'
  75.  Call LineOut sIncFile, '!endif'
  76.  
  77.  Call LineOut sIncFile, ''
  78.  Call LineOut sIncFile, 'CM_TOOLS        =$(LX_BASE)\tools'
  79.  
  80.  Call Stream sIncFile, 'C', 'CLOSE';
  81.  
  82.  Call directory(sOldDir);
  83.  Say 'Configuration completed!'
  84.  Say ''
  85.  Say 'To build the SKEL32 driver release version do:'
  86.  Say '   WMAKE /ms'
  87.  Say 'To build the SKEL32 driver debug version do:'
  88.  Say '   WMAKE /ms DEBUG=1'
  89. End
  90. Else
  91. Do
  92.  Say 'oops, failed to open outputfile,' sIncFile;
  93.  Exit 1;
  94. End
  95. Exit 0;
  96.  
  97.  
  98.  
  99. /*****************/
  100. /* function area */
  101. /*****************/
  102. WriteSubDir: Procedure Expose sIncFile
  103.  M=Arg(1)
  104.  SubDir=Arg(2)
  105.  If SubDir='' Then
  106.  Do
  107.   SubDir=Right(M,Length(M)-5)
  108.  End
  109.  If Length(M) < 16 Then
  110.  Do
  111.   M=Left(M'                ',16)
  112.  End
  113.  SubDir=Translate(SubDir,'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')
  114.  Call LineOut sIncFile, M'=$(DRV_BASE)\'SubDir
  115. Return
  116.