home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / dmake40.zip / vextern.h < prev   
C/C++ Source or Header  |  1994-10-23  |  5KB  |  115 lines

  1. /* RCS      -- $Header: /u5/dvadura/src/public/dmake/src/RCS/vextern.h,v 1.1 1994/10/06 17:41:35 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) 1992,1994 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  1994/10/06  17:41:35  dvadura
  33.  * dmake Release Version 4.0, 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*    Makedir;    /* pointer to macro value for MAKEDIR     */
  52. EXTERN    char*    Shell;        /* pointer to macro value for SHELL       */
  53. EXTERN    char*    Shell_flags;    /* pointer to macro value for SHELLFLAGS  */
  54. EXTERN    char*    GShell;        /* pointer to macro value for GROUPSHELL  */
  55. EXTERN    char*    GShell_flags;    /* pointer to macro value for GROUPFLAGS  */
  56. EXTERN    char*    Shell_metas;    /* pointer to macro value for SHELLMETAS  */
  57. EXTERN    char*    Grp_suff;    /* pointer to macro value for GROUPSUFFIX */
  58. EXTERN  char*   DirSepStr;    /* pointer to macro value for DIRSEPSTR   */
  59. EXTERN    char*    Pname;        /* dmake process invoke name              */
  60. EXTERN    char*    Pwd;        /* current working dir, value of PWD      */
  61. EXTERN    char*    Tmd;        /* path to directory where dmake started  */
  62. EXTERN    char*    Keep_state;    /* current .KEEP_STATE file          */
  63. EXTERN  char*   Escape_char;    /* Current escape character               */
  64. EXTERN  char*   LastMacName;    /* Last macro successfully parsed      */
  65. EXTERN  char*   UseDirCache;    /* The value of .DIRCACHE                 */
  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    Suppress_temp_file;/* TRUE if doing a test in _exec_recipe*/
  69. EXTERN    int    Readenv;    /* TRUE if defining macro from environment*/
  70. EXTERN    int    Makemkf;    /* TRUE if making makefile(s)          */
  71. EXTERN    int    Nest_level;    /* Nesting level for .IF .ELSE .END ...   */
  72. EXTERN    int      Prep;        /* Value of macro PREP              */
  73. EXTERN    int    Def_targets;    /* TRUE if defining targets          */
  74. EXTERN  int    Skip_to_eof;    /* TRUE if asked to skip to eof on input  */
  75. EXTERN  int     DynamicNestLevel;/* Value of DYNAMICNESTINGLEVEL macro     */
  76. EXTERN  int     NameMax;        /* The value of NAMEMAX                   */
  77.  
  78. EXTERN  CELLPTR Root;        /* Root of the make graph          */
  79. EXTERN  CELLPTR Targets;    /* Targets in makefile               */
  80.  
  81. EXTERN  CELLPTR Current_target; /* cell of current target being made      */
  82. EXTERN  int    Wait_for_completion;
  83. EXTERN  int    Doing_bang;
  84. EXTERN  int    Packed_shell;    /* TRUE if packed args to use a shell      */
  85. EXTERN  int    Swap_on_exec;    /* TRUE if going to swap on exec call     */
  86. EXTERN  int    State;        /* parser state                  */
  87. EXTERN  int    Group;        /* parsing a group recipe ==> TRUE        */
  88.  
  89. /* Command line option flags are defined here.  They correspond one-for one
  90.  * with the flags defined in dmake.c */
  91.  
  92. EXTERN    char    *Augmake;      /* -A */
  93. EXTERN  char    Comment;      /* -c */
  94. EXTERN    char    Get_env;      /* -e or -E */
  95. EXTERN  char*   Notabs;          /* -B */
  96. EXTERN    int    Continue;      /* -k */
  97. EXTERN    int    Force;          /* -u */
  98. EXTERN    int    Listing;      /* -p */
  99. EXTERN    int    Rules;          /* -r */
  100. EXTERN    int    Trace;          /* -n */
  101. EXTERN    int    Touch;          /* -t */
  102. EXTERN    int    Check;          /* -q */
  103. EXTERN    uint16    Verbose;      /* -v */
  104. EXTERN    int    Microsoft;      /* -M */
  105. EXTERN    int    Transitive;      /* -T */
  106. EXTERN  int     No_exec;          /* -X */
  107.  
  108. EXTERN  HASHPTR Defs[HASH_TABLE_SIZE];
  109. EXTERN  HASHPTR Macs[HASH_TABLE_SIZE];
  110.  
  111. EXTERN    char    *Buffer;        /* a general purpose buffer     */
  112. EXTERN  int    Buffer_size;
  113. EXTERN  int    Max_proclmt;        /* limit of max # of conc procs */
  114. EXTERN    int    Max_proc;        /* max # of conc procs        */
  115.