export BUILD_DIR=$(dir $(abspath $(lastword $(MAKEFILE_LIST))))build
|
export CXX=g++
|
export CXXFLAGS=
|
_OBJS-top=ast.o main.o
|
DEBUG=a
|
|
ifdef DEBUG
|
CXXFLAGS+=-g
|
endif
|
|
OBJS-top=$(patsubst %,$(BUILD_DIR)/%,$(_OBJS-top))
|
|
.PHONY: clean default all
|
|
default: docconv $(BUILD_DIR)
|
all: default
|
|
docconv: $(BUILD_DIR)/parsers $(BUILD_DIR)/gens $(OBJS-top)
|
$(CXX) $(CXXFLAGS) -o $@ $(BUILD_DIR)/*.o $(BUILD_DIR)/parsers/*.o $(BUILD_DIR)/gens/*.o
|
|
$(BUILD_DIR)/%.o: %.cpp
|
$(CXX) -c $(CXXFLAGS) -o $@ $<
|
|
$(BUILD_DIR)/parsers: $(BUILD_DIR)
|
$(MAKE) -C parsers
|
|
$(BUILD_DIR)/gens: $(BUILD_DIR)
|
$(MAKE) -C gens
|
|
$(BUILD_DIR):
|
mkdir -p $@
|
|
clean:
|
rm -rf $(BUILD_DIR)
|