--- /dev/null
+.PRECIOUS: $(yy_build_dir)/%.flex.c $(yy_build_dir)/%.bison.c \
+ $(yy_build_dir)/%.bison.h
+
+$(yy_build_dir)/%.flex.c: $(yy_src_dir)/%.lex | $(yy_build_dir)
+ @[ -z "$(Q)" ] || echo 'FLEX $<'
+ @$(FLEX) -o $@ $<
+
+$(yy_build_dir)/%.bison.c $(yy_build_dir)/%.bison.h: $(yy_src_dir)/%.y \
+ | $(yy_build_dir)
+ @[ -z "$(Q)" ] || echo 'BISON $<'
+ @$(BISON) --defines=$(yy_build_dir)/$(notdir $(<:.y=.bison.h)) \
+ --output=$(yy_build_dir)/$(notdir $(<:.y=.bison.c)) $<
+
+$(object_dir)/%.o: $(yy_build_dir)/%.c | $(object_dir)
+ @[ -z "$(Q)" ] || echo 'CC $<'
+ @$(Q) $(CC) -g -c -o $@ $(CPPFLAGS) -MMD -MF $(dep_dir)/$(*F).d \
+ -MT $@ -iquote . -Wno-unused-macros $<