office-gobmx/dmake/vextern.h
Jens-Heiner Rechtien 4a4787573e INTEGRATION: CWS dmake43p01 (1.1.1.1.132); FILE MERGED
2006/02/01 23:28:55 vq 1.1.1.1.132.7: #i60948# Add -m option family to generate timing information for targets
and/or recipes. (Autotools files were regenerated.)
2005/10/11 17:39:39 vq 1.1.1.1.132.6: #i54938# Fix problem when building infered .INCLUDE makefiles and doing
parallel builds.
2005/09/05 20:56:45 vq 1.1.1.1.132.5: #i53148# Move redirection of stdout from parent to child and avoid
capturing spurious output from other process queues.
2005/09/05 17:23:45 vq 1.1.1.1.132.4: #i53148# Additional patch to make sure that the shell escapes is executed
after all previous recipe lines from the same target have finished.
2005/09/04 19:38:15 vq 1.1.1.1.132.3: #i53148# Fix $(shell ...) handling for parallel builds with MAXPROCESS > 1.
This certainly includes the -P# switch with # > 1.
2005/04/11 03:28:54 vq 1.1.1.1.132.2: #i43252# Introduce the macro ABSMAKECMD that's value for a native Windows
dmake executable (compiled with MS Visual C++ or MinGW) is the absolute
filename and NULL for other operating systems or dmake build with other
compilers.
If DMAKEROOT is not changed and only for native Windows dmake versions the
value of DMAKEROOT now defaults to "$(ABSMAKECMD:d)startup".
2004/11/20 01:05:55 vq 1.1.1.1.132.1: #i37491# Add a predefined SPACECHAR macro.
2006-04-20 11:03:05 +00:00

114 lines
5.2 KiB
C

/* RCS $Id: vextern.h,v 1.2 2006-04-20 12:03:05 hr Exp $
--
-- SYNOPSIS
-- Global variable declarations.
--
-- DESCRIPTION
-- Leave _DEFINE_GLOBALS_ undefined and the following declarations
-- will be defined as global variables, otherwise you get the
-- external declarations to the same global variables.
--
-- AUTHOR
-- Dennis Vadura, dvadura@dmake.wticorp.com
--
-- WWW
-- http://dmake.wticorp.com/
--
-- COPYRIGHT
-- Copyright (c) 1996,1997 by WTI Corp. All rights reserved.
--
-- This program is NOT free software; you can redistribute it and/or
-- modify it under the terms of the Software License Agreement Provided
-- in the file <distribution-root>/readme/license.txt.
--
-- LOG
-- Use cvs log to obtain detailed change logs.
*/
/* These two are defined in dir/ruletab.c and dir/dirbrk.c, and are always
* imported as externals by the other code. Their defining modules do not
* #include this file. */
extern char* DirBrkStr; /* pointer to value of macro DIRBRKSTR */
extern char** Rule_tab; /* Builtin rules */
#ifndef _DEFINE_GLOBALS_
#define EXTERN extern
#else
#define EXTERN
#endif
EXTERN int Line_number; /* Current line number in make file parse */
EXTERN t_attr Glob_attr; /* Global attrs to control global ops */
EXTERN char* Makedir; /* pointer to macro value for MAKEDIR */
EXTERN char* Shell; /* pointer to macro value for SHELL */
EXTERN char* Shell_flags; /* pointer to macro value for SHELLFLAGS */
EXTERN char* GShell; /* pointer to macro value for GROUPSHELL */
EXTERN char* GShell_flags; /* pointer to macro value for GROUPFLAGS */
EXTERN char* Shell_metas; /* pointer to macro value for SHELLMETAS */
EXTERN char* Grp_suff; /* pointer to macro value for GROUPSUFFIX */
EXTERN char* DirSepStr; /* pointer to macro value for DIRSEPSTR */
EXTERN char* AbsPname; /* pointer to macro value for ABSMAKECMD */
EXTERN char* Pname; /* dmake process invoke name */
EXTERN char* Pwd; /* current working dir, value of PWD */
EXTERN char* Tmd; /* path to directory where dmake started */
EXTERN char* Spacechar; /* pointer to macro value for SPACECHAR */
EXTERN char* Keep_state; /* current .KEEP_STATE file */
EXTERN char* Escape_char; /* Current escape character */
EXTERN char* LastMacName; /* Last macro successfully parsed */
EXTERN char* UseDirCache; /* The value of .DIRCACHE */
EXTERN char* DcacheRespCase; /* TRUE if we are to respect dcache case */
EXTERN int Target; /* TRUE if target found in makefile */
EXTERN int If_expand; /* TRUE if calling Expand from getinp.c */
EXTERN int Suppress_temp_file;/* TRUE if doing a test in _exec_recipe*/
EXTERN int Readenv; /* TRUE if defining macro from environment*/
EXTERN int Makemkf; /* TRUE if making makefile(s) */
EXTERN int Nest_level; /* Nesting level for .IF .ELSE .END ... */
EXTERN int Prep; /* Value of macro PREP */
EXTERN int Def_targets; /* TRUE if defining targets */
EXTERN int Skip_to_eof; /* TRUE if asked to skip to eof on input */
EXTERN int DynamicNestLevel;/* Value of DYNAMICNESTINGLEVEL macro */
EXTERN int NameMax; /* The value of NAMEMAX */
EXTERN CELLPTR Root; /* Root of the make graph */
EXTERN CELLPTR Targets; /* Targets in makefile */
EXTERN CELLPTR Current_target; /* cell of current target being made */
EXTERN int Wait_for_completion; /* Wait for subprocess to finish */
EXTERN int Is_exec_shell; /* Indicate shell escape */
EXTERN CELLPTR Shell_exec_target; /* Keep Current_target for _exec__shell */
EXTERN FILE* stdout_redir; /* For _exec_shell client redirects */
EXTERN int Doing_bang; /* TRUE if target timestamp needs not to be
* updated immediately. */
EXTERN int Packed_shell; /* TRUE if packed args to use a shell */
EXTERN int Swap_on_exec; /* TRUE if going to swap on exec call */
EXTERN int State; /* parser state */
EXTERN int Group; /* parsing a group recipe ==> TRUE */
/* Command line option flags are defined here. They correspond one-for one
* with the flags defined in dmake.c */
EXTERN char *Augmake; /* -A */
EXTERN char Comment; /* -c */
EXTERN char Get_env; /* -e or -E */
EXTERN char* Notabs; /* -B */
EXTERN int Continue; /* -k */
EXTERN int Force; /* -u */
EXTERN int Listing; /* -p */
EXTERN int Rules; /* -r */
EXTERN int Trace; /* -n */
EXTERN int Touch; /* -t */
EXTERN int Check; /* -q */
EXTERN uint16 Verbose; /* -v */
EXTERN uint16 Measure; /* -m */
EXTERN int Microsoft; /* -M */
EXTERN int Transitive; /* -T */
EXTERN int No_exec; /* -X */
EXTERN HASHPTR Defs[HASH_TABLE_SIZE];
EXTERN HASHPTR Macs[HASH_TABLE_SIZE];
EXTERN char *Buffer; /* a general purpose buffer */
EXTERN int Buffer_size;
EXTERN int Max_proclmt; /* limit of max # of conc procs */
EXTERN int Max_proc; /* max # of conc procs */