---input--- vpath %.c src vpath %.h header EXEC=hello SRC= hello.c main.c OBJ= $(SRC:.c=.o) all: $(EXEC) hello: $(OBJ) $(CC) -o $@ $^ $(LDFLAGS) main.o: hello.h %.o: %.c $(CC) -I header -o $@ \ -c $< $(CFLAGS) ---tokens--- 'vpath %.c src\n' Comment.Preproc 'vpath %.h header\n' Comment.Preproc 'EXEC' Name.Variable '=' Operator 'hello' Text '\n' Text 'SRC' Name.Variable '=' Operator ' ' Text 'hello.c' Text ' ' Text 'main.c' Text '\n' Text 'OBJ' Name.Variable '=' Operator ' ' Text '$(' Keyword 'SRC:.c' Text '=' Operator '.o' Text ')' Keyword '\n' Text '\n' Text 'all' Name.Function ':' Operator ' ' Text '$(' Keyword 'EXEC' Name.Variable ')' Keyword '\n' Text '\n' Text 'hello' Name.Function ':' Operator ' ' Text '$(' Keyword 'OBJ' Name.Variable ')' Keyword '\n' Text ' ' Text '$(' Keyword 'CC' Text ')' Keyword ' ' Text '-o' Text ' ' Text '$@' Name.Variable ' ' Text '$' Text '^' Text ' ' Text '$(' Keyword 'LDFLAGS' Text ')' Keyword '\n\n' Text 'main.o' Name.Function ':' Operator ' ' Text 'hello' Name '.' Text 'h' Name '\n' Text '\n' Text '%.o' Name.Function ':' Operator ' ' Text '%' Text '.' Text 'c' Name '\n' Text ' ' Text '$(' Keyword 'CC' Text ')' Keyword ' ' Text '-I' Text ' ' Text 'header' Text ' ' Text '-o' Text ' ' Text '$@' Name.Variable ' ' Text '\\\n' Literal.String.Escape ' ' Text '-c' Text ' ' Text '$' Text '<' Text ' ' Text '$(' Keyword 'CFLAGS' Text ')' Keyword '\n' Text