1/* Debugging macros and interface.
2Copyright (C) 1999 Free Software Foundation, Inc.
3This file is part of GNU Make.
4
5GNU Make is free software; you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation; either version 2, or (at your option)
8any later version.
9
10GNU Make is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with GNU Make; see the file COPYING.  If not, write to
17the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18Boston, MA 02111-1307, USA.  */
19
20
21#define DB_NONE         (0x000)
22#define DB_BASIC        (0x001)
23#define DB_VERBOSE      (0x002)
24#define DB_JOBS         (0x004)
25#define DB_IMPLICIT     (0x008)
26#define DB_MAKEFILES    (0x100)
27
28#define DB_ALL          (0xfff)
29
30extern int db_level;
31
32#define ISDB(_l)    ((_l)&db_level)
33
34#define DBS(_l,_x)  do{ if(ISDB(_l)) {print_spaces (depth); \
35                                      printf _x; fflush (stdout);} }while(0)
36
37#define DBF(_l,_x)  do{ if(ISDB(_l)) {print_spaces (depth); \
38                                      printf (_x, file->name); \
39                                      fflush (stdout);} }while(0)
40
41#define DB(_l,_x)   do{ if(ISDB(_l)) {printf _x; fflush (stdout);} }while(0)
42