Explorar o código

Move example Makefile to root directory

Ole Krüger %!s(int64=10) %!d(string=hai) anos
pai
achega
2140fd1d20
Modificáronse 2 ficheiros con 33 adicións e 31 borrados
  1. 33 0
      Makefile
  2. 0 31
      examples/Makefile

+ 33 - 0
Makefile

@@ -0,0 +1,33 @@
+# 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

+ 0 - 31
examples/Makefile

@@ -1,31 +0,0 @@
-# Utilities
-RM              = rm -rf
-EXEC            = exec
-
-# Artifacts
-OBJS            = functions.out usertypes.out stack.out types.out
-DEPS            = $(OBJS:%=%.d)
-
-# Compiler
-CXX             ?= clang++
-CXXFLAGS        += -std=c++14 -O2 -fno-exceptions -fno-rtti -fmessage-length=0 -Wall -Wextra \
-                   -pedantic -I../lib
-LDLIBS          += -llua
-
-# Default Targets
-all: $(OBJS) $(foreach obj,$(OBJS),exec-$(obj))
-
-exec-%: %
-	$(EXEC) ./$<
-
-clean:
-	$(RM) $(DEPS) $(OBJS)
-
-# Objects
--include $(DEPS)
-
-%.out: %.cpp Makefile
-	$(CXX) $(CXXFLAGS) -MMD -MF$(@:%=%.d) -MT$@ -o$@ $< $(LDLIBS)
-
-# Phony
-.PHONY: clean