Explorar o código

Clean up the top level makefile.

David Given %!s(int64=7) %!d(string=hai) anos
pai
achega
96e7447bfa
Modificáronse 1 ficheiros con 28 adicións e 28 borrados
  1. 28 28
      Makefile

+ 28 - 28
Makefile

@@ -32,6 +32,19 @@ LDFLAGS =
 AR = ar
 CC = gcc
 
+# Which build system to use; use 'ninja' or 'make' (in lower case). Leave
+# blank to autodetect.
+
+BUILDSYSTEM =
+
+# Build flags for ninja.
+
+NINJAFLAGS =
+
+# Build flags for make.
+
+MAKEFLAGS = -r
+
 # ======================================================================= #
 #                         END OF CONFIGURATION                            #
 # ======================================================================= #
@@ -51,39 +64,26 @@ PLATDEP = $(INSDIR)/lib/ack
 MAKECMDGOALS ?= +ack
 BUILD_FILES = $(shell find * -name '*.lua')
 
-NINJA := $(shell which ninja)
-ifneq ($(findstring +, $(MAKECMDGOALS)),)
-ifneq ($(NINJA),)
-
-$(MAKECMDGOALS): $(BUILDDIR)/build.ninja
-	@ninja -f $(BUILDDIR)/build.ninja $(MAKECMDGOALS)
-
+ifneq ($(shell which ninja),)
+BUILDSYSTEM = ninja
+BUILDFLAGS = $(NINJAFLAGS)
 else
+BUILDSYSTEM = make
+BUILDFLAGS = $(MAKEFLAGS)
+endif
 
-$(MAKECMDGOALS): $(BUILDDIR)/rules.mk
-	+@make -r -f $(BUILDDIR)/rules.mk $@ \
-		$(MAKEFLAGS)
+ifneq ($(findstring +, $(MAKECMDGOALS)),)
 
-endif
-endif
+$(MAKECMDGOALS): $(BUILDDIR)/build.$(BUILDSYSTEM)
+	@$(BUILDSYSTEM) $(BUILDFLAGS) -f $^ $(MAKECMDGOALS)
 
-$(BUILDDIR)/build.ninja: first/ackbuilder.lua Makefile $(BUILD_FILES)
-	@mkdir -p $(BUILDDIR)
-	@lua5.1 first/ackbuilder.lua first/build.lua build.lua --ninja \
-		OBJDIR=$(OBJDIR) \
-		BINDIR=$(BINDIR) \
-		LIBDIR=$(LIBDIR) \
-		INCDIR=$(INCDIR) \
-		INSDIR=$(INSDIR) \
-		PLATIND=$(PLATIND) \
-		PLATDEP=$(PLATDEP) \
-		AR=$(AR) \
-		CC=$(CC) \
-		> $(BUILDDIR)/build.ninja
+endif
 
-$(BUILDDIR)/rules.mk: first/ackbuilder.lua Makefile $(BUILD_FILES)
+$(BUILDDIR)/build.$(BUILDSYSTEM): first/ackbuilder.lua Makefile $(BUILD_FILES)
 	@mkdir -p $(BUILDDIR)
-	@lua5.1 first/ackbuilder.lua first/build.lua build.lua --make \
+	@lua5.1 first/ackbuilder.lua \
+		first/build.lua build.lua \
+		--$(BUILDSYSTEM) \
 		OBJDIR=$(OBJDIR) \
 		BINDIR=$(BINDIR) \
 		LIBDIR=$(LIBDIR) \
@@ -93,7 +93,7 @@ $(BUILDDIR)/rules.mk: first/ackbuilder.lua Makefile $(BUILD_FILES)
 		PLATDEP=$(PLATDEP) \
 		AR=$(AR) \
 		CC=$(CC) \
-		> $(BUILDDIR)/rules.mk
+		> $(BUILDDIR)/build.$(BUILDSYSTEM)
 
 clean:
 	@rm -rf $(BUILDDIR)