home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / proglang / dmake38s.arj / VEXTERN.H < prev    next >
C/C++ Source or Header  |  1992-01-23  |  5KB  |  110 lines

  1. /* RCS      -- $Header: /u2/dvadura/src/generic/dmake/src/RCS/vextern.h,v 1.1 1992/01/24 03:27:19 dvadura Exp $
  2. -- SYNOPSIS -- global variable declarations.
  3. -- 
  4. -- DESCRIPTION
  5. --     Leave _DEFINE_GLOBALS_ undefined and the following declarations
  6. --    will be defined as global variables, otherwise you get the
  7. --    external declarations to the same global variables.
  8. --
  9. -- AUTHOR
  10. --      Dennis Vadura, dvadura@watdragon.uwaterloo.ca
  11. --      CS DEPT, University of Waterloo, Waterloo, Ont., Canada
  12. --
  13. -- COPYRIGHT
  14. --      Copyright (c) 1990 by Dennis Vadura.  All rights reserved.
  15. -- 
  16. --      This program is free software; you can redistribute it and/or
  17. --      modify it under the terms of the GNU General Public License
  18. --      (version 1), as published by the Free Software Foundation, and
  19. --      found in the file 'LICENSE' included with this distribution.
  20. -- 
  21. --      This program is distributed in the hope that it will be useful,
  22. --      but WITHOUT ANY WARRANTY; without even the implied warrant of
  23. --      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  24. --      GNU General Public License for more details.
  25. -- 
  26. --      You should have received a copy of the GNU General Public License
  27. --      along with this program;  if not, write to the Free Software
  28. --      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  29. --
  30. -- LOG
  31. --     $Log: vextern.h,v $
  32.  * Revision 1.1  1992/01/24  03:27:19  dvadura
  33.  * dmake Version 3.8, Initial revision
  34.  *
  35. */
  36.  
  37. /* These two are defined in dir/ruletab.c and dir/dirbrk.c, and are always
  38.  * imported as externals by the other code.  Their defining modules do not
  39.  * #include this file. */
  40. extern    char*    DirBrkStr;    /* pointer to value of macro DIRBRKSTR    */
  41. extern    char**    Rule_tab;    /* Builtin rules */
  42.  
  43. #ifndef _DEFINE_GLOBALS_
  44. #define EXTERN    extern
  45. #else
  46. #define EXTERN
  47. #endif
  48.  
  49. EXTERN    int    Line_number;    /* Current line number in make file parse */
  50. EXTERN    t_attr    Glob_attr;    /* Global attrs to control global ops     */
  51. EXTERN    char*    Prep;        /* Value of macro PREP              */
  52. EXTERN    char*    Makedir;    /* pointer to macro value for MAKEDIR     */
  53. EXTERN    char*     Start_dir;    /* cell for   macro value for .SETDIR      */
  54. EXTERN    char*    Shell;        /* pointer to macro value for SHELL       */
  55. EXTERN    char*    Shell_flags;    /* pointer to macro value for SHELLFLAGS  */
  56. EXTERN    char*    GShell;        /* pointer to macro value for GROUPSHELL  */
  57. EXTERN    char*    GShell_flags;    /* pointer to macro value for GROUPFLAGS  */
  58. EXTERN    char*    Shell_metas;    /* pointer to macro value for SHELLMETAS  */
  59. EXTERN    char*    Grp_suff;    /* pointer to macro value for GROUPSUFFIX */
  60. EXTERN  char*   DirSepStr;    /* pointer to macro value for DIRSEPSTR   */
  61. EXTERN    char*    Pname;        /* dmake process invoke name              */
  62. EXTERN    char*    Pwd;        /* current working dir, value of PWD      */
  63. EXTERN    char*    Tmd;        /* path to directory where dmake started  */
  64. EXTERN    char*    Keep_state;    /* current .KEEP_STATE file          */
  65. EXTERN  char*   Escape_char;    /* Current escape character               */
  66. EXTERN    int    Target;        /* TRUE if target found in makefile       */
  67. EXTERN    int    If_expand;    /* TRUE if calling Expand from getinp.c   */
  68. EXTERN  int    If_multi;    /* M_MULTI for expand of single MULTI macs*/
  69. EXTERN  int    Suppress_temp_file;/* TRUE if doing a test in _exec_recipe   */
  70. EXTERN    int    Readenv;    /* TRUE if defining macro from environment*/
  71. EXTERN    int    Makemkf;    /* TRUE if making makefile(s)          */
  72. EXTERN    int    Nest_level;    /* Nesting level for .IF .ELSE .END ...   */
  73. EXTERN    int    Def_targets;    /* TRUE if defining targets          */
  74.  
  75. EXTERN  CELLPTR Root;        /* Root of the make graph          */
  76.  
  77. EXTERN  CELLPTR Current_target; /* cell of current target being made      */
  78. EXTERN  int    Wait_for_completion;
  79. EXTERN  int    Doing_bang;
  80. EXTERN  int    Packed_shell;    /* TRUE if packed args to use a shell      */
  81. EXTERN  int    Swap_on_exec;    /* TRUE if going to swap on exec call     */
  82. EXTERN  int    State;        /* parser state                  */
  83. EXTERN  int    Group;        /* parsing a group recipe ==> TRUE        */
  84.  
  85. /* Command line option flags are defined here.  They correspond one-for one
  86.  * with the flags defined in dmake.c */
  87.  
  88. EXTERN    char    *Augmake;    /* -A */
  89. EXTERN  char    Comment;    /* -c */
  90. EXTERN    char    Get_env;    /* -e or -E */
  91. EXTERN  char*   Notabs;        /* -B */
  92. EXTERN    int    Continue;    /* -k */
  93. EXTERN    int    Force;        /* -u */
  94. EXTERN    int    Listing;    /* -p */
  95. EXTERN    int    Rules;        /* -r */
  96. EXTERN    int    Trace;        /* -n */
  97. EXTERN    int    Touch;        /* -t */
  98. EXTERN    int    Check;        /* -q */
  99. EXTERN    uint16    Verbose;    /* -v */
  100. EXTERN    int    Microsoft;    /* -M */
  101. EXTERN    int    Transitive;    /* -T */
  102.  
  103. EXTERN    HASHPTR    Macs[HASH_TABLE_SIZE];    /* hash table for macro defs    */
  104. EXTERN    HASHPTR    Defs[HASH_TABLE_SIZE];    /* hash table for other defs    */
  105.  
  106. EXTERN    char    *Buffer;        /* a general purpose buffer     */
  107. EXTERN  int    Buffer_size;
  108. EXTERN  int    Max_proclmt;        /* limit of max # of conc procs */
  109. EXTERN    int    Max_proc;        /* max # of conc procs        */
  110.