grub2: bring back build of aros-side grub2 tools
[AROS.git] / tools / MetaMake / project.h
blob5ae7cafe5da50dcdd6a96f59ba2cbc3e92c8793d
1 /* Include before #ifndef so that Cache is always defined before Project */
2 #include "cache.h"
4 #ifndef __MMAKE_PROJECT_H
5 #define __MMAKE_PROJECT_H
7 /* MetaMake - A Make extension
8 Copyright © 1995-2010, The AROS Development Team. All rights reserved.
10 This file is part of MetaMake.
12 MetaMake is free software; you can redistribute it and/or modify
13 it under the terms of the GNU General Public License as published by
14 the Free Software Foundation; either version 2, or (at your option)
15 any later version.
17 MetaMake is distributed in the hope that it will be useful,
18 but WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 GNU General Public License for more details.
22 You should have received a copy of the GNU General Public License
23 along with GNU CC; see the file COPYING. If not, write to
24 the Free Software Foundation, 59 Temple Place - Suite 330,
25 Boston, MA 02111-1307, USA. */
27 #include "list.h"
28 #include "cache.h"
30 struct Project
32 struct Node node;
34 char * maketool;
35 char * defaultmakefilename;
36 char * srctop;
37 char * buildtop;
38 char * defaulttarget;
39 char * genmakefilescript;
40 char * genglobalvarfile;
42 int readvars;
44 struct List globalvarfiles;
45 struct List genmakefiledeps;
46 struct List ignoredirs;
47 struct List vars;
48 struct List extramakefiles;
50 struct Cache * cache;
53 void initprojects (void);
54 void expungeprojects (void);
55 struct Project * findproject (const char * pname);
56 struct Project * getfirstproject (void);
57 void maketarget (struct Project * prj, char * tname);
58 int execute (struct Project * prj, const char * cmd, const char * in,
59 const char * out, const char * args);
61 #endif /* __MMAKE_PROJECT_H */