| 123456789101112131415161718192021222324252627282930313233 |
- # Utilities
- RM := rm -rf
- CHDIR := cd
- EXEC := exec
- # Artifacts
- EXAMPLE_DIR := examples
- EXAMPLE_SRCS := types.cpp stack.cpp functions.cpp usertypes.cpp
- EXAMPLE_DEPS := $(EXAMPLE_SRCS:%.cpp=$(EXAMPLE_DIR)/%.d)
- EXAMPLE_OBJS := $(EXAMPLE_SRCS:%.cpp=$(EXAMPLE_DIR)/%.out)
- # Compiler
- CXX ?= clang++
- CXXFLAGS += -std=c++14 -O2 -fno-exceptions -fno-rtti -fmessage-length=0 -Wall -Wextra \
- -pedantic -Ilib
- LDLIBS += -llua
- # Examples
- examples: $(EXAMPLE_OBJS)
- run-examples: examples
- @for ex in $(EXAMPLE_OBJS); do echo "> Example '$$ex'"; ./$$ex; done
- clean:
- $(RM) $(EXAMPLE_OBJS) $(EXAMPLE_DEPS)
- -include $(EXAMPLE_DEPS)
- $(EXAMPLE_DIR)/%.out: $(EXAMPLE_DIR)/%.cpp Makefile
- $(CXX) $(CXXFLAGS) -MMD -MF$(@:%=%.d) -MT$@ -o$@ $< $(LDLIBS)
- # Phony
- .PHONY: examples clean
|