mcandre / unmake

a makefile linter
Other
84 stars 4 forks source link

Denote when a rule is an inference rule #249

Open mcandre opened 1 month ago

mcandre commented 1 month ago

As a make user, I want inspection to indicate whether a rule is a target rule vs an inference rule, for easier troubleshooting.

Inference rules, which have one target name with at least one ('.') and no ('/')

The application shall ensure that the target portion is a valid target name (see Target Rules, on page 3110) of the form .s2 or .s1.s2 (where .s1 and .s2 are suffixes that have been given as prerequisites of the .SUFFIXES special target and s1 and s2 do not contain any or characters.)

Also distinguish between single suffix vs double suffix inference rules.

If there is only one in the target, it is a single-suffix inference rule. Targets with two periods are double-suffix inference rules. Inference rules can have only one target before the .