xref: /Universal-ctags/parsers/make.h (revision c70c75f4e894ad2a865aaba85c2be11d786d93d8)
187214e15SMasatake YAMATO /*
287214e15SMasatake YAMATO *   Copyright (c) 2016, Masatake YAMATO
387214e15SMasatake YAMATO *
487214e15SMasatake YAMATO *   This source code is released for free distribution under the terms of the
587214e15SMasatake YAMATO *   GNU General Public License version 2 or (at your option) any later version.
687214e15SMasatake YAMATO *
787214e15SMasatake YAMATO *   This module contains functions for generating tags for makefiles.
887214e15SMasatake YAMATO */
987214e15SMasatake YAMATO 
1087214e15SMasatake YAMATO #ifndef CTAGS_PARSER_MAKE_H
1187214e15SMasatake YAMATO #define CTAGS_PARSER_MAKE_H
1287214e15SMasatake YAMATO 
1387214e15SMasatake YAMATO /*
1487214e15SMasatake YAMATO *   INCLUDE FILES
1587214e15SMasatake YAMATO */
1687214e15SMasatake YAMATO #include "general.h"  /* must always come first */
17*c70c75f4SMasatake YAMATO 
18*c70c75f4SMasatake YAMATO #include "subparser.h"
1987214e15SMasatake YAMATO #include "vstring.h"
2087214e15SMasatake YAMATO 
21*c70c75f4SMasatake YAMATO typedef struct sMakeSubparser makeSubparser;
2287214e15SMasatake YAMATO 
23*c70c75f4SMasatake YAMATO struct sMakeSubparser {
24*c70c75f4SMasatake YAMATO 	subparser subparser;
25*c70c75f4SMasatake YAMATO 
26*c70c75f4SMasatake YAMATO 	void (* valueNotify) (makeSubparser *s, char* name);
27*c70c75f4SMasatake YAMATO 	void (* directiveNotify) (makeSubparser *s, char* name);
28*c70c75f4SMasatake YAMATO 	void (* newMacroNotify) (makeSubparser *s,
29*c70c75f4SMasatake YAMATO 							 char* name,
30*c70c75f4SMasatake YAMATO 							 bool withDefineDirective,
31*c70c75f4SMasatake YAMATO 							 bool appending);
32*c70c75f4SMasatake YAMATO };
3387214e15SMasatake YAMATO 
3487214e15SMasatake YAMATO #endif
35