X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=Makefile;h=caf10e3daf15bdb421f14dba85d0536f7948c48e;hp=ead9c51cc3c5d1d9b52e4ee09878d25b4b8fd904;hb=a97500609dc3c1b11f9786d32bc458eb00de4c36;hpb=7ac3aee9efa7f9ce1a966df030b1f76f2b82ef2d diff --git a/Makefile b/Makefile index ead9c51..caf10e3 100644 --- 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.