version 1.81, 2012/10/02 10:29:31 |
version 1.82, 2012/10/09 19:45:34 |
|
|
* |
* |
* Suff_GetPath Return the search path for the given suffix. |
* Suff_GetPath Return the search path for the given suffix. |
* |
* |
* Suff_AddInclude Mark the given suffix as denoting an include |
|
* file. |
|
* |
|
* Suff_AddLib Mark the given suffix as denoting a library. |
|
* |
|
* Suff_ParseAsTransform Line might be a suffix line, check it. |
* Suff_ParseAsTransform Line might be a suffix line, check it. |
* If it's not, return NULL. Otherwise, add |
* If it's not, return NULL. Otherwise, add |
* another transformation to the suffix graph. |
* another transformation to the suffix graph. |
|
|
/* |
/* |
* Structure describing an individual suffix. |
* Structure describing an individual suffix. |
*/ |
*/ |
typedef struct Suff_ { |
struct Suff_ { |
size_t nameLen; /* optimisation: strlen(name) */ |
size_t nameLen; /* optimisation: strlen(name) */ |
short flags; |
short flags; |
#define SUFF_ACTIVE 0x08 /* We never destroy suffixes and rules, */ |
#define SUFF_ACTIVE 0x08 /* We never destroy suffixes and rules, */ |
|
|
LIST parents; /* List of Suff we have a transformation to */ |
LIST parents; /* List of Suff we have a transformation to */ |
LIST children; /* List of Suff we have a transformation from */ |
LIST children; /* List of Suff we have a transformation from */ |
char name[1]; |
char name[1]; |
} Suff; |
}; |
|
|
static struct ohash_info suff_info = { |
static struct ohash_info suff_info = { |
offsetof(struct Suff_, name), NULL, |
offsetof(struct Suff_, name), NULL, |
|
|
* Try parsing a target line as a transformation rule, depending on |
* Try parsing a target line as a transformation rule, depending on |
* existing suffixes. |
* existing suffixes. |
* |
* |
* Possibly create anew transform, or reset an existing one. |
* Possibly create a new transform, or reset an existing one. |
*----------------------------------------------------------------------- |
*----------------------------------------------------------------------- |
*/ |
*/ |
GNode * |
GNode * |