X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=Makefile;h=5809c575cb5d2adfb53dd344afbaf0cd909bb646;hp=ccf61fa0150b4ba4bbe37bd59b1a814ed6b94e4e;hb=151f60a78d5e45c8d46c3e793fdefee306c6dc4c;hpb=5cec68537a631d85e4dec5219f5e0edad1167b10 diff --git a/Makefile b/Makefile index ccf61fa..5809c57 100644 --- a/Makefile +++ b/Makefile @@ -10,8 +10,11 @@ # http://www.xs4all.nl/~evbergen/nonrecursive-make.html # -# Set this to `yes' to echo each build command in full. -verbose := no +# Set this to `true' to echo each build command in full. +verbose := false + +# Set this to `false' to avoid installing manual pages. +install_man := true # @@ -66,22 +69,32 @@ include $(dir)/rules.mk # ifeq ($(DEP_TRACKING),true) -COMPILE = ./tools/compile.lua +COMPILE = ./tools/compile.lua +endif + +ifeq ($(DEP_MINIMIZING),true) +LINK = ./tools/link.lua endif +INSTALL = ./tools/install.lua + +# Include current directory to allow sources to #include "config.h". +CFLAGS += -I. +CXXFLAGS += -I. + 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_LD = $(LINK) $(CC) $(LDFLAGS) $(LF_TGT) -o $@ $^ $(LL_TGT) $(LIBS) +COMMAND_LDX = $(LINK) $(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_RC = $(WINDRES) -I. $(DF_TGT) -o $@ -i $< +COMMAND_INSTALL = $(INSTALL) -m $1 $2 $3/ COMMAND_RM = rm -f $1 COMMAND_IN = sed -f config.sed <"$1" >"$2" -ifeq ($(verbose),yes) +ifeq ($(verbose),true) DO_CC = $(COMMAND_CC) DO_CXX = $(COMMAND_CXX) DO_LD = $(COMMAND_LD) @@ -97,15 +110,15 @@ SHELL_LINE_PREFIX = else DO_CC = @echo " CC $@"; $(COMMAND_CC) DO_CXX = @echo " CXX $@"; $(COMMAND_CXX) -DO_LD = @echo " LD $@"; $(COMMAND_LD) -DO_LDX = @echo " LD $@"; $(COMMAND_LDX) -DO_CCLD = @echo " CCLD $@"; $(COMMAND_CCLD) -DO_CXXLD = @echo " CXXLD $@"; $(COMMAND_CXXLD) +DO_LD = @echo " LINK $@"; $(COMMAND_LD) +DO_LDX = @echo " LINK $@"; $(COMMAND_LDX) +DO_CCLD = @echo " LINK $@"; $(COMMAND_CCLD) +DO_CXXLD = @echo " LINK $@"; $(COMMAND_CXXLD) DO_AR = @echo " AR $@"; $(COMMAND_AR) DO_RC = @echo " RC $@"; $(COMMAND_RC) DO_INSTALL = @echo " CP $2"; $(COMMAND_INSTALL) DO_RM = @echo " RM $1"; $(COMMAND_RM) -DO_IN = @echo " MAKE $2"; $(COMMAND_IN) +DO_IN = @echo " GEN $2"; $(COMMAND_IN) SHELL_LINE_PREFIX = @ endif @@ -122,17 +135,17 @@ endif $(DO_CXX) %.o: %.rc $(DO_RC) -%: %.o +%$(EXEEXT): %.o $(DO_LD) -%: %.c +%$(EXEEXT): %.c $(DO_CCLD) -%: %.cc +%$(EXEEXT): %.cc $(DO_CXXLD) -%: %.cpp +%$(EXEEXT): %.cpp $(DO_CXXLD) %.a: %.o $(DO_AR) -%: %.in +%: %.in config.sed $(call DO_IN,$<,$@) @@ -168,10 +181,12 @@ install: all do \ $(call remove_silencer,$(call DO_INSTALL,755,$$file,$(DESTDIR)$(bindir))); \ done +ifeq ($(install_man),true) $(SHELL_LINE_PREFIX)files='$(MANPAGES)'; for file in $$files; \ do \ $(call remove_silencer,$(call DO_INSTALL,644,$$file,$(DESTDIR)$(mandir))); \ done +endif .PHONY: uninstall uninstall: