From: <sg...@us...> - 2003-09-27 22:34:35
|
Update of /cvsroot/libfunutil/libfunutil/toc/make In directory sc8-pr-cvs1:/tmp/cvs-serv7210/toc/make Modified Files: cleaner.make cpp_bins.make cpp_dynamic_libs.make cpp_static_libs.make dist.make flex.make makerules.BIN_PROGRAMS makerules.SHARED_LIBS makerules.STATIC_LIBS subdirs_traverser.make toc_functions.make Log Message: massive commit, mainly fixes/changes from the elib tree. Index: cleaner.make =================================================================== RCS file: /cvsroot/libfunutil/libfunutil/toc/make/cleaner.make,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- cleaner.make 5 Sep 2003 09:32:14 -0000 1.7 +++ cleaner.make 27 Sep 2003 22:34:02 -0000 1.8 @@ -25,8 +25,10 @@ CLEAN_FILES += $(DEPS_FILE) $(DIST_LISTFILE) +###################################################################### +# toc_clean_files call()able function: deletes all files passed in via +# $(1). toc_clean_files = test "x$(1)" = "x" && exit 0; \ - echo Cleaning: $(1); \ for x in $(1) ""; do test -z "$${x}" && continue; \ test -w $$x || continue; \ rm $$x || exit; \ @@ -41,9 +43,25 @@ clean-.: clean-subdirs - @$(call toc_clean_files,$(wildcard $(CLEAN_FILES))) +ifeq (1,$(configure_build_quietly)) + @echo "Cleaning up..."; \ + $(call toc_clean_files,$(wildcard $(CLEAN_FILES))) +else + @echo "Cleaning up: $(wildcard $(CLEAN_FILES))"; \ + $(call toc_clean_files,$(wildcard $(CLEAN_FILES))) +# i hate the duplicate wildcard, but i can't pass shell-expanded vars +# to $(call ...). +endif + distclean-.: distclean-subdirs - @$(call toc_clean_files,$(wildcard $(CLEAN_FILES) $(DISTCLEAN_FILES))) + @echo -n "Cleaning up... " +ifeq (1,$(configure_build_quietly)) + @$(call toc_clean_files,$(wildcard $(CLEAN_FILES) $(DISTCLEAN_FILES))); \ + echo +else + @echo $(wildcard $(CLEAN_FILES) $(DISTCLEAN_FILES)); \ + $(call toc_clean_files,$(wildcard $(CLEAN_FILES) $(DISTCLEAN_FILES))) +endif subdirs-clean: # implemented elsewhere subdirs-distclean: # implemented elsewhere Index: cpp_bins.make =================================================================== RCS file: /cvsroot/libfunutil/libfunutil/toc/make/cpp_bins.make,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- cpp_bins.make 31 Aug 2003 20:23:01 -0000 1.7 +++ cpp_bins.make 27 Sep 2003 22:34:03 -0000 1.8 @@ -28,7 +28,7 @@ # $1 = binary file name # $2 = optional arguments to linker. # list of objects to link is derived from $($(1)_bin_OBJECTS) and $(BIN_PROGRAMS_OBJECTS) -toc_link_binary = $(CXX) $(LDFLAGS) -o $(1) $($(1)_bin_OBJECTS) $(BIN_PROGRAMS_OBJECTS) $(BIN_PROGRAMS_LDADD) $($(1)_bin_LDADD) $(2) +toc_link_binary = $(CXX) -o $(1) $($(1)_bin_OBJECTS) $(BIN_PROGRAMS_OBJECTS) $(LDFLAGS) $($(1)_bin_LDADD) $(BIN_PROGRAMS_LDADD) $(2) ifneq (,$(BIN_PROGRAMS)) Index: cpp_dynamic_libs.make =================================================================== RCS file: /cvsroot/libfunutil/libfunutil/toc/make/cpp_dynamic_libs.make,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- cpp_dynamic_libs.make 1 Sep 2003 04:57:32 -0000 1.10 +++ cpp_dynamic_libs.make 27 Sep 2003 22:34:03 -0000 1.11 @@ -6,11 +6,14 @@ # foo_so_OBJECTS = list of object files to link to foo.so # foo_so_LDADD = # optional libraries passed to linker (e.g., -lstdc++) # foo_so_LDFLAGS = # optional args to linker -# foo_so_MAJOR = 0 # major version number -# foo_so_MINOR = 0 # minor version number -# foo_so_PATCH = 1 # patch version number +# foo_so_VERSION = # optional Major.Minor.Patch # e.g. "1.0.1" it MUST match this format! # include $(toc_makesdir)/cpp_dynamic_libs.make # +# If foo_so_VERSION is not set then no numbered symlinks will be created. +# +# Run: +# all: lib-shared +# # Effect: # Creates foo.so and foo.so<version> by linking $(foo_so_OBJECTS). It # also sets up install/uninstall rules for handling the symlinks. @@ -22,12 +25,16 @@ # $2 = extra args to the linker toc_link_shared_lib = { soname=$(1).so; wholename=$${soname}.$($(1)_so_MAJOR).$($(1)_so_MINOR).$($(1)_so_PATCH); \ so_major=$${soname}.$($(1)_so_MAJOR); \ - set -x; \ - $(CXX) $(LDFLAGS) $($(1)_LDFLAGS) -o $${wholename} -export-dynamic -shared \ - -Wl,-soname,$${so_major} $($(1)_so_OBJECTS) $(SHARED_LIBS_OBJECTS) $($(1)_so_LDADD) $(2) || exit; \ - ln -fs $${wholename} $${soname}.$($(1)_so_MAJOR).$($(1)_so_MINOR); \ - ln -fs $${wholename} $${soname}.$($(1)_so_MAJOR); \ - ln -fs $${wholename} $${soname}; \ + test x = x$($(1)_so_MAJOR) && wholename=$${soname}; \ + cmd="$(CXX) $(LDFLAGS) $($(1)_LDFLAGS) -o $${wholename} -export-dynamic -shared \ + -Wl,-soname,$${so_major} $($(1)_so_OBJECTS) $(SHARED_LIBS_OBJECTS) $(SHARED_LIBS_LDADD) $($(1)_so_LDADD) $(2)"; \ + test x1 = x$(configure_build_quietly) || echo $$cmd; \ + $$cmd || exit; \ + test x = x$($(1)_so_MAJOR) || { \ + ln -fs $${wholename} $${soname}.$($(1)_so_MAJOR).$($(1)_so_MINOR); \ + ln -fs $${wholename} $${soname}.$($(1)_so_MAJOR); \ + ln -fs $${wholename} $${soname}; \ + }; \ } # symlinking methods: # method 1: @@ -50,8 +57,6 @@ # ; do \ # ln -fs $${wholename} $$l; \ # done; \ - -# echo "$$soname version: $($(1)_so_MAJOR) $($(1)_so_MINOR) $($(1)_so_PATCH)"; ifneq ($(SHARED_LIBS),) SHARED_LIBS_SOFILES = $(patsubst %,%.so,$(SHARED_LIBS)) Index: cpp_static_libs.make =================================================================== RCS file: /cvsroot/libfunutil/libfunutil/toc/make/cpp_static_libs.make,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- cpp_static_libs.make 1 Sep 2003 04:57:46 -0000 1.7 +++ cpp_static_libs.make 27 Sep 2003 22:34:03 -0000 1.8 @@ -20,7 +20,10 @@ STATIC_LIBS_A = $(patsubst %,%.a,$(STATIC_LIBS)) CLEAN_FILES += $(STATIC_LIBS_A) -toc_link_static_lib = $(AR) cqs $(1).a $($(1)_a_OBJECTS) $(STATIC_LIBS_OBJECTS) +# toc_link_static_lib call()able: +# $1 = base name (e.g., foo) +# links $(1).a from $($(1)_a_OBJECTS) and $(STATIC_LIBS_OBJECTS) +toc_link_static_lib = $(AR) crs $(1).a $($(1)_a_OBJECTS) $(STATIC_LIBS_OBJECTS) ifneq (,$(STATIC_LIBS_A)) Index: dist.make =================================================================== RCS file: /cvsroot/libfunutil/libfunutil/toc/make/dist.make,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- dist.make 31 Aug 2003 20:23:28 -0000 1.10 +++ dist.make 27 Sep 2003 22:34:03 -0000 1.11 @@ -4,12 +4,16 @@ # it takes a list of files/dirs to create a distribution tarball from. # This snippet requires a filesystem-valid $(PACKAGE_NAME)-$(PACKAGE_VERSION) # combination +# +# You may set sever configure_dist_xxx vars to configure which packages it +# creates - see the code below for details. + DIST_FILES_FILE = .toc.DIST_FILES CLEAN_FILES += $(wildcard $(DIST_FILES_FILE)) -dist_find_bin = $(firstword $(wildcard $(addsuffix /$(1),$(subst :, ,$(toc_tocdir)/bin:$(PATH))))) -FORCE: +# dist_find_bin: helper function to find $(1) in an adjusted PATH +dist_find_bin = $(firstword $(wildcard $(addsuffix /$(1),$(subst :, ,$(toc_tocdir)/bin:$(PATH))))) TOC_MAKEDIST_BIN ?= $(call dist_find_bin,makedist) ifeq (,$(wildcard $(TOC_MAKEDIST_BIN))) @@ -19,9 +23,9 @@ dist-.: $(DIST_FILES_FILE) $(DIST_FILES_FILE): FORCE Makefile - @test -z "$(DIST_FILES)" && exit 0; \ + @test "x" = "x$(DIST_FILES)" && exit 0; \ pwd=$$(pwd); \ - for f in "" $(DIST_FILES); do test -z "$$f" && continue; \ + for f in "" $(DIST_FILES); do test "x" = "x$$f" && continue; \ echo $$pwd/$$f; \ done > $@; @@ -52,23 +56,19 @@ dist-compress: dist-.: $(DIST_FILES_TARBALL) dist-compress -configure_dist_use_gzip ?= 0 -configure_dist_use_bzip ?= 0 -configure_dist_use_zip ?= 0 - -GZIP_BIN = $(call dist_find_bin,gzip) +GZIP_BIN ?= $(call dist_find_bin,gzip) ifneq (,$(GZIP_BIN)) -configure_dist_use_gzip = 1 +configure_dist_use_gzip ?= 1 endif -BZIP_BIN = $(call dist_find_bin,bzip2) +BZIP_BIN ?= $(call dist_find_bin,bzip2) ifneq (,$(BZIP_BIN)) -configure_dist_use_bzip = 1 +configure_dist_use_bzip ?= 1 endif -ZIP_BIN = $(call dist_find_bin,zip) +ZIP_BIN ?= $(call dist_find_bin,zip) ifneq (,$(ZIP_BIN)) -configure_dist_use_zip = 1 +configure_dist_use_zip ?= 1 endif ifeq (1,$(configure_dist_use_gzip)) @@ -123,12 +123,11 @@ ./configure $(DIST_TESTDIST_ARGS) && make || exit $$? @echo "$@ $(PACKAGE_NAME)-$(PACKAGE_VERSION) completed. $(TOC_EMOTICON_OKAY)" -MD5_BIN = $(call dist_find_bin,md5sum*) +MD5_BIN ?= $(call dist_find_bin,md5sum*) ifeq (,$(MD5_BIN)) $(warning MD5_BIN not pointing to md5sum application. Skipping md5-related checks.) else MD5_LIST = md5.sums.$(DIST_NAME) - md5check-%: @echo "Checking distribution md5 sums against $*..." @$(MD5_BIN) --check $* | grep FAILED || exit 0 && exit 1 Index: flex.make =================================================================== RCS file: /cvsroot/libfunutil/libfunutil/toc/make/flex.make,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- flex.make 5 Sep 2003 09:35:28 -0000 1.1 +++ flex.make 27 Sep 2003 22:34:03 -0000 1.2 @@ -1,18 +1,23 @@ #!make # snippet to compile .flex files into .cpp - +# # usage: # define: # FLEXES = foo bar -# all: flex_files +# FLEXES_ARGS = optional args to pass to flex. +# foo_FLEXES_ARGS = optional args for foo.flex +# +# all: flexes +# # You must have foo.flex for each $(FLEXES) and foo.flex.cpp will # be generated. It will be "massaged" a bit to allow it to compile -# under newer GCC versions (3.2+ish, i think). +# under newer GCC versions (3.x). +# -FLEX_CPPFILE_SUFFIX = .cpp +FLEX_CPPFILE_SUFFIX ?= .cpp FLEX_FILE_SUFFIX ?= .flex -%$(FLEX_FILE_SUFFIX):# undefine make's implicite rule +%$(FLEX_FILE_SUFFIX):# undefine make's implicit rule FLEX_MAKEFILE = $(toc_makesdir)/flex.make ifneq (,$(FLEXES)) @@ -21,21 +26,26 @@ ifeq (,$(FLEX_BIN)) $(error This makefile snippet requires that 'flex' be found in the PATH!) endif + + FLEX_FLEX_FILES = $(addsuffix $(FLEX_FILE_SUFFIX),$(FLEXES)) FLEX_CPP_FILES = $(addsuffix $(FLEX_CPPFILE_SUFFIX),$(FLEX_FLEX_FILES)) # $(FLEX_FLEX_FILES): Makefile # %.flex: Makefile %$(FLEX_FILE_SUFFIX)$(FLEX_CPPFILE_SUFFIX): %$(FLEX_FILE_SUFFIX) $(FLEX_MAKEFILE) Makefile - @echo "Flexing $< to $@, plus doing iostream hacks :/."; \ - flex -+ -t $< | \ + @cmd='$(FLEX_BIN) $(FLEXES_ARGS) $($(basename $(patsubst %$(FLEX_FILESUFFIX)$(FLEX_CPPFILE_SUFFIX),%,$@))_FLEXES_ARGS) -t $< '; \ + echo $$cmd '> $@'; \ + $$cmd | \ perl -p \ -e 's/iostream\.h/iostream/;' \ -e 'next if m/iostream/;' \ -e 'next if m/::[io]stream/;' \ -e 's/(ostream|istream)([^\.])/std::$$1$$2/g;' > $@ -CLEAN_FILES += $(FLEX_CPP_FILES) +# @echo "Flexing $< to $@, plus doing iostream hacks :/."; + +CLEAN_FILES += $(FLEX_CPP_FILES) $(FLEX_FLEX_FILES) flexes: $(FLEX_CPP_FILES) Index: makerules.BIN_PROGRAMS =================================================================== RCS file: /cvsroot/libfunutil/libfunutil/toc/make/makerules.BIN_PROGRAMS,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- makerules.BIN_PROGRAMS 1 Sep 2003 00:19:42 -0000 1.3 +++ makerules.BIN_PROGRAMS 27 Sep 2003 22:34:03 -0000 1.4 @@ -9,7 +9,13 @@ for t in $@; do cat <<EOF $t: \$(BIN_PROGRAMS_COMMON_DEPS) \$(${t}_bin_OBJECTS) - @echo "Linking binary [$t]."; set -x; \$(call toc_link_binary,${t},) + @echo "Linking binary [$t]."; +ifeq (1,\$(configure_build_quietly)) + @\$(call toc_link_binary,${t},) +else + \$(call toc_link_binary,${t},) +endif + CLEAN_FILES += $t bin-$t: $t bins: bin-$t Index: makerules.SHARED_LIBS =================================================================== RCS file: /cvsroot/libfunutil/libfunutil/toc/make/makerules.SHARED_LIBS,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- makerules.SHARED_LIBS 1 Sep 2003 04:59:01 -0000 1.2 +++ makerules.SHARED_LIBS 27 Sep 2003 22:34:03 -0000 1.3 @@ -10,26 +10,34 @@ for t in $@; do sofile=$t.so cat <<EOF -${t}_so_VERSION ?= 0.0.0 +# ${t}_so_VERSION ?= 0.0.0 +ifneq (,\$(${t}_so_VERSION)) ${t}_so_MAJOR ?= \$(word 1,\$(subst ., ,\$(${t}_so_VERSION))) ${t}_so_MINOR ?= \$(word 2,\$(subst ., ,\$(${t}_so_VERSION))) ${t}_so_PATCH ?= \$(word 3,\$(subst ., ,\$(${t}_so_VERSION))) +endif ${sofile}: \$(SHARED_LIBS_COMMON_DEPS) \$(${t}_so_OBJECTS) - @echo "Dynamically linking library [$@]"; \\ - \$(call toc_link_shared_lib,${t}) + @echo "Dynamically linking library [${t}]..." + @\$(call toc_link_shared_lib,${t}) +ifneq (,\$(${t}_so_VERSION)) install-so-${sofile}: @\$(call toc_make_install_so,${sofile},\$(${t}_so_MAJOR),\$(${t}_so_MINOR),\$(${t}_so_PATCH),\$(INSTALL_LIBEXECS_DEST)) uninstall-so-${sofile}: @\$(call toc_make_uninstall,${sofile} ${sofile}.\$(${t}_so_MAJOR) ${sofile}.\$(${t}_so_MAJOR).\$(${t}_so_MINOR) ${sofile}.\$(${t}_so_MAJOR).\$(${t}_so_MINOR).\$(${t}_so_PATCH),\$(INSTALL_LIBEXECS_DEST)) +else +INSTALL_LIBEXECS += ${sofile} +install-so-${sofile}: +uninstall-so-${sofile}: +endif install-LIBEXECS: install-so-${sofile} uninstall-LIBEXECS: uninstall-so-${sofile} - -libs-static: lib-${t} +lib-${t}: ${sofile} +libs-shared: lib-${t} EOF done Index: makerules.STATIC_LIBS =================================================================== RCS file: /cvsroot/libfunutil/libfunutil/toc/make/makerules.STATIC_LIBS,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- makerules.STATIC_LIBS 28 Aug 2003 09:16:56 -0000 1.1 +++ makerules.STATIC_LIBS 27 Sep 2003 22:34:03 -0000 1.2 @@ -11,8 +11,13 @@ afile=$t.a cat <<EOF ${afile}: \$(STATIC_LIBS_COMMON_DEPS) \$(${t}_a_OBJECTS) - @echo "Linking static library [$@]."; set -x; \\ + @echo "Statically linking library [${t}]..." +ifeq (1,\$(configure_build_quietly)) + @\$(call toc_link_static_lib,${t}) +else \$(call toc_link_static_lib,${t}) +endif + lib-${t}: ${afile} libs-static: lib-${t} INSTALL_LIBS += ${afile} Index: subdirs_traverser.make =================================================================== RCS file: /cvsroot/libfunutil/libfunutil/toc/make/subdirs_traverser.make,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- subdirs_traverser.make 5 Sep 2003 09:31:00 -0000 1.12 +++ subdirs_traverser.make 27 Sep 2003 22:34:03 -0000 1.13 @@ -18,18 +18,21 @@ # toc_make_subdirs call()able function: # $1 = list of dirs # $2 = target -# MAKE_NOP_ARG = --no-print-directory +ifeq (1,$(configure_build_quietly)) +MAKE_NOP_ARG = --no-print-directory +endif toc_make_subdirs = \ test "x$(1)" = "x" && exit 0; \ tgt="$(2)"; test x = "x$$tgt" && tgt="all"; \ for b in $(1) "x"; do test "x" = "$$b" && break; \ pwd=$$(pwd); \ - cd $$pwd/$$b || exit; \ echo "Making $$tgt in $$pwd/$${b}"; \ + cd $$pwd/$$b || exit; \ ${MAKE} $(MAKE_NOP_ARG) $$tgt || exit; \ cd $$pwd || exit; \ done + .PHONY: subdirs distclean-subdirs clean-subdirs $(SUBDIRS) # note that this only works for subdirs defined BEFORE including this file: @@ -44,9 +47,9 @@ subdirs-%: ## calls $* target in all $(SUBDIRS) @$(call toc_make_subdirs,$(SUBDIRS),$*) -subdirs: $(addprefix subdir-,$(SUBDIRS)) -#subdirs: subdirs-all -# ${MAKE} $(addprefix subdir-,$(SUBDIRS)) +#subdirs: $(addprefix subdir-,$(SUBDIRS)) +subdirs: subdirs-all +# @${MAKE} $(addprefix subdir-,$(SUBDIRS)) #subdirs-all # @$(call toc_make_subdirs,$(SUBDIRS),all) Index: toc_functions.make =================================================================== RCS file: /cvsroot/libfunutil/libfunutil/toc/make/toc_functions.make,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- toc_functions.make 5 Sep 2003 09:31:44 -0000 1.2 +++ toc_functions.make 27 Sep 2003 22:34:03 -0000 1.3 @@ -29,7 +29,11 @@ # .toc.foo.deps: # $(toc_generate_rules,foo,arg1=val1 -arg2) # Executes script $(toc_makesdir)/makerules.foo, passing it $(2). -toc_generate_rules = $(toc_makesdir)/makerules.$(1) $(2) +toc_generate_rules = $(SHELL) $(toc_makesdir)/makerules.$(1) $(2) +# the $(SHELL) prefix here is a kludge: systems where /bin/sh is Bourne +# fail to build, but the nature of the errors makes it quite difficult +# to track down where the failure is. The side-effect of this kludge +# is that makerules.foo must be a shell script. :/ ###################################################################### # toc_get_makefile_var call()able: @@ -42,16 +46,43 @@ # toc_compile_c_binary call()able function: # compiles/links list of source files [$($(1)_bin_SOURCES) $($(1)_bin_OBJECTS)and $(2)] # to create $(1). It uses the optional $($(1)_bin_CFLAGS). -toc_compile_c_binary = $(CC) $(C_BINS_FROM_SOURCES_CFLAGS) $(CFLAGS) $($(1)_bin_CFLAGS) -o $(1) $($(1)_bin_SOURCES) $($(1)_bin_OBJECTS) $(2) $(C_BINS_FROM_SOURCES_LFLAGS) $($(1)_bin_LFLAGS) - +toc_compile_c_binary = $(CC) $(C_BINS_FROM_SOURCES_CFLAGS) $(CFLAGS) $($(1)_bin_CFLAGS) -o $(1) $($(1)_bin_SOURCES) $($(1)_bin_OBJECTS) $(2) $(C_BINS_FROM_SOURCES_LFLAGS) $(LDFLAGS) $($(1)_bin_LFLAGS) +# does $(LDFLAGS) /really/ belong here??? ###################################################################### # toc_made_c_deps call()able function: -# generates dependencies for c/c++ files. +# generates make dependencies for c/c++ files. # $1 = C/C++ sources to process. # $2 = INCLUDES (e.g., -I. -I/usr/include, with or without the -I). # $2 defaults to $(INCLUDES). toc_make_c_deps = inc="$(patsubst %,-I%,$(wildcard $(patsubst -I%,%,$(2))))"; \ - test -z "$$inc" && inc="$(INCLUDES)"; \ + test "x$$inc" = "x" && inc="$(INCLUDES)"; \ $(DEPSGEN_BIN) $$inc -- $(1) +# the $(wildcard) oddness above is to remove duplicate entires and invalid +# dirs (mkdeps no likie invalid ones). +# maintenance note: $(DEPSGEN_BIN) comes from deps.make + +###################################################################### +# Experimental override of %.o:%.cpp +COMPILE_COMMAND_CXX = $(CXX) $(CXXFLAGS) $($(subst .,_,$<)_CXXFLAGS) \ + $(CPPFLAGS) $($(subst .,_,$<)_CPPFLAGS) $(TARGET_ARCH) -c -o $@ $< +%.o: %.cpp +ifeq (1,$(configure_build_quietly)) + @echo "Compiling $<..."; \ + $(COMPILE_COMMAND_CXX) +else + $(COMPILE_COMMAND_CXX) +endif + +###################################################################### +# Experimental override of %.o:%.c +COMPILE_COMMAND_C = $(CC) $(CFLAGS) $($(subst .,_,$<)_CFLAGS) \ + $(CPPFLAGS) $($(subst .,_,$<)_CPPFLAGS) $(TARGET_ARCH) -c -o $@ $< +%.o: %.c +ifeq (1,$(configure_build_quietly)) + @echo "Compiling $<..."; \ + $(COMPILE_COMMAND_C) +else + $(COMPILE_COMMAND_C) +endif |