+.PHONY: all bootstrap bootstrap2 bootstrape clean selfcheck splint libfirm_subdir
+
+-include $(DEPENDS)
+
+$(SOURCES): config.h
+config.h:
+ cp config.h.in $@
+
+%.h:
+ @true
+
+REVISION ?= $(shell git describe --abbrev=40 --always --dirty --match '')
+
+# Update revision.h if necessary
+UNUSED := $(shell \
+ REV="\#define cparser_REVISION \"$(REVISION)\""; \
+ echo "$$REV" | cmp -s - revision.h 2> /dev/null || echo "$$REV" > revision.h \
+)
+
+DIRS := $(sort $(dir $(OBJECTS)))
+UNUSED := $(shell mkdir -p $(DIRS) $(DIRS:$(BUILDDIR)/%=$(BUILDDIR)/cpb/%) $(DIRS:$(BUILDDIR)/%=$(BUILDDIR)/cpb2/%) $(DIRS:$(BUILDDIR)/%=$(BUILDDIR)/cpbe/%))
+
+$(GOAL): $(LIBFIRM_FILE) $(OBJECTS)
+ @echo "===> LD $@"
+ $(Q)$(CC) $(OBJECTS) $(LIBFIRM_FILE) -o $(GOAL) $(LFLAGS)
+
+ifneq ("$(LIBFIRM_FILE)", "")
+$(LIBFIRM_FILE): libfirm_subdir
+# Re-evaluate Makefile after libfirm_subdir has been executed
+Makefile: libfirm_subdir
+# Build libfirm in subdirectory
+libfirm_subdir:
+ $(Q)$(MAKE) -C $(FIRM_HOME) $(LIBFIRM_FILE_BASE)