archiving support for releases
[chaz/yoink] / Makefile
index ead9c51cc3c5d1d9b52e4ee09878d25b4b8fd904..caf10e3daf15bdb421f14dba85d0536f7948c48e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@
 # Use this file with make to compile and install Yoink.
 #
 # This makefile supports these targets:
-#   all, install, clean, cleandist, run, debug
+#   all, install, clean, distclean, run, debug, dist, dist-gzip, dist-bzip2
 #
 # This build system incorporates the ideas written by Emile van Bergen:
 # http://www.xs4all.nl/~evbergen/nonrecursive-make.html
@@ -24,8 +24,7 @@ have_config := $(wildcard config.mk)
 ifneq ($(strip $(have_config)),)
 include config.mk
 else
-no_config:
-       $(error You must run the configure script before you can make anything)
+$(error You must run the configure script before you can make anything)
 endif
 
 
@@ -66,20 +65,21 @@ include $(dir)/rules.mk
 # Define some common rules.
 #
 
-CC_WRAPPER  = ./build/compile.sh $(CC)
-CXX_WRAPPER = ./build/compile.sh $(CXX)
+ifeq ($(DEP_TRACKING),true)
+COMPILE = ./tools/compile.lua
+endif
 
-COMMAND_CC         = $(CC_WRAPPER)  $(CFLAGS)   $(CF_TGT) -o $@ -c $<
-COMMAND_CXX        = $(CXX_WRAPPER) $(CXXFLAGS) $(CF_TGT) -o $@ -c $<
-COMMAND_LD         = $(CC)  $(LDFLAGS)  $(LF_TGT) -o $@ $^ $(LL_TGT) $(LIBS)
-COMMAND_LDX        = $(CXX) $(LDFLAGS)  $(LF_TGT) -o $@ $^ $(LL_TGT) $(LIBS)
-COMMAND_CCLD       = $(CC_WRAPPER)  $(CFLAGS)   $(CF_TGT) $(LDFLAGS) $(LF_TGT) -o $@ $< $(LL_TGT) $(LIBS)
-COMMAND_CXXLD      = $(CXX_WRAPPER) $(CXXFLAGS) $(CF_TGT) $(LDFLAGS) $(LF_TGT) -o $@ $< $(LL_TGT) $(LIBS)
-COMMAND_AR         = $(AR) rcs $@ $^; $(RANLIB) $@
-COMMAND_RC         = $(WINDRES)     $(DDEFINES) $(DF_TGT) -o $@ -i $<
-COMMAND_INSTALL    = ./build/install.sh -m $1 $2 -d $3
+COMMAND_CC         = $(COMPILE) $(CC)  $(CFLAGS)    $(CF_TGT) -o $@ -c $<
+COMMAND_CXX        = $(COMPILE) $(CXX) $(CXXFLAGS)  $(CF_TGT) -o $@ -c $<
+COMMAND_LD         = $(CC)  $(LDFLAGS) $(LF_TGT) -o $@ $^ $(LL_TGT) $(LIBS)
+COMMAND_LDX        = $(CXX) $(LDFLAGS) $(LF_TGT) -o $@ $^ $(LL_TGT) $(LIBS)
+COMMAND_CCLD       = $(COMPILE) $(CC)  $(CFLAGS)    $(CF_TGT) $(LDFLAGS) $(LF_TGT) -o $@ $< $(LL_TGT) $(LIBS)
+COMMAND_CXXLD      = $(COMPILE) $(CXX) $(CXXFLAGS)  $(CF_TGT) $(LDFLAGS) $(LF_TGT) -o $@ $< $(LL_TGT) $(LIBS)
+COMMAND_AR         = $(AR) rcs $@ $^;  $(RANLIB)    $@
+COMMAND_RC         = $(WINDRES)        $(DDEFINES)  $(DF_TGT) -o $@ -i $<
+COMMAND_INSTALL    = ./tools/install.sh -m $1 $2 -d $3
 COMMAND_RM         = rm -f $1
-COMMAND_IN         = ./build/process.sh $1 $2
+COMMAND_IN         = sed -f config.sed <"$1" >"$2"
 
 ifeq ($(verbose),yes)
 DO_CC              = $(COMMAND_CC)
@@ -149,7 +149,9 @@ clean:
 
 .PHONY: distclean
 distclean: clean
+       $(call DO_RM,config.h)
        $(call DO_RM,config.mk)
+       $(call DO_RM,config.sed)
 
 .PHONY: all_
 all_: $(BINARIES) $(MANPAGES)
@@ -185,6 +187,17 @@ uninstall:
                $(call remove_silencer,$(call DO_RM,$(DESTDIR)$(datadir)$$base)); \
        done
 
+.PHONY: dist-bzip2
+dist-bzip2:
+       $(SHELL_LINE_PREFIX)git archive HEAD --prefix='$(TARNAME)/' | bzip2 > "$(TARNAME).tar.bz2"
+
+.PHONY: dist-gzip
+dist-gzip:
+       $(SHELL_LINE_PREFIX)git archive HEAD --prefix='$(TARNAME)/' | gzip > "$(TARNAME).tar.gz"
+
+.PHONY: dist
+dist: dist-bzip2
+
 
 #
 # Prevent make from removing any build targets.
This page took 0.022447 seconds and 4 git commands to generate.