19
19
# along with lsp-plugins-shared. If not, see <https://www.gnu.org/licenses/>.
20
20
#
21
21
22
+ # Command-line flag to silence nested $(MAKE).
23
+ ifneq ($(VERBOSE ) ,1)
24
+ .SILENT :
25
+ endif
26
+
22
27
# Location
23
28
BASEDIR := $(CURDIR )
24
29
MODULES := $(BASEDIR ) /modules
@@ -37,83 +42,83 @@ include $(BASEDIR)/project.mk
37
42
38
43
# Setup paths
39
44
CHK_CONFIG = test -f "$(CONFIG ) " || (echo "System not properly configured. Please launch 'make config' first" && exit 1)
40
- DISTSRC_PATH = $(BUILDDIR ) /. distsrc
45
+ DISTSRC_PATH = $(BUILDDIR ) /distsrc
41
46
DISTSRC = $(DISTSRC_PATH ) /$(ARTIFACT_NAME )
42
47
43
48
.DEFAULT_GOAL := all
44
49
.PHONY : all compile install uninstall depend clean
45
50
46
51
compile all install uninstall depend :
47
- @ $(CHK_CONFIG )
48
- @ $(MAKE ) -s - C " $( BASEDIR) /src" $(@ ) CONFIG=" $( CONFIG) " DESTDIR=" $( DESTDIR) "
52
+ $(CHK_CONFIG )
53
+ $(MAKE ) -C " $( BASEDIR) /src" $(@ ) VERBOSE= " $( VERBOSE ) " CONFIG=" $( CONFIG) " DESTDIR=" $( DESTDIR) "
49
54
50
55
clean :
51
- @ echo " Cleaning build directory $( BUILDDIR) "
52
- @ -rm -rf $(BUILDDIR )
53
- @ echo " Clean OK"
56
+ echo " Cleaning build directory $( BUILDDIR) "
57
+ -rm -rf $(BUILDDIR )
58
+ echo " Clean OK"
54
59
55
60
# Module-related tasks
56
61
.PHONY : fetch tree prune
57
62
fetch :
58
- @ $(CHK_CONFIG )
59
- @ echo " Fetching desired source code dependencies"
60
- @ $(MAKE ) -s - f " $( BASEDIR) /make/modules.mk" $(@ ) BASEDIR=" $( BASEDIR) " CONFIG=" $( CONFIG) "
61
- @ echo " Fetch OK"
63
+ $(CHK_CONFIG )
64
+ echo " Fetching desired source code dependencies"
65
+ $(MAKE ) -f " $( BASEDIR) /make/modules.mk" $(@ ) VERBOSE= " $( VERBOSE ) " BASEDIR=" $( BASEDIR) " CONFIG=" $( CONFIG) "
66
+ echo " Fetch OK"
62
67
63
68
tree :
64
- @ echo " Fetching all possible source code dependencies"
65
- @ $(MAKE ) -s - f " $( BASEDIR) /make/modules.mk" $(@ ) BASEDIR=" $( BASEDIR) " TREE=" 1"
66
- @ echo " Fetch OK"
69
+ echo " Fetching all possible source code dependencies"
70
+ $(MAKE ) -f " $( BASEDIR) /make/modules.mk" $(@ ) VERBOSE= " $( VERBOSE ) " BASEDIR=" $( BASEDIR) " TREE=" 1"
71
+ echo " Fetch OK"
67
72
68
73
prune : clean
69
- @ echo " Pruning the whole project tree"
70
- @ $(MAKE ) -s - f " $( BASEDIR) /make/modules.mk" prune BASEDIR=" $( BASEDIR) " CONFIG=" $( CONFIG) "
71
- @ $(MAKE ) -s - f " $( BASEDIR) /make/modules.mk" prune BASEDIR=" $( BASEDIR) " TREE=" 1"
72
- @ -rm -rf " $( CONFIG) "
73
- @ echo " Prune OK"
74
+ echo " Pruning the whole project tree"
75
+ $(MAKE ) -f " $( BASEDIR) /make/modules.mk" prune VERBOSE= " $( VERBOSE ) " BASEDIR=" $( BASEDIR) " CONFIG=" $( CONFIG) "
76
+ $(MAKE ) -f " $( BASEDIR) /make/modules.mk" prune VERBOSE= " $( VERBOSE ) " BASEDIR=" $( BASEDIR) " TREE=" 1"
77
+ -rm -rf " $( CONFIG) "
78
+ echo " Prune OK"
74
79
75
80
# Configuration-related targets
76
81
.PHONY : config help chkconfig
77
82
78
83
testconfig :
79
- @ $(MAKE ) -s - f " $( BASEDIR) /make/configure.mk" $(@ ) CONFIG=" $( CONFIG) " TEST=" 1" $(MAKEFLAGS )
84
+ $(MAKE ) -f " $( BASEDIR) /make/configure.mk" $(@ ) VERBOSE= " $( VERBOSE ) " CONFIG=" $( CONFIG) " TEST=" 1" - $(MAKEFLAGS )
80
85
81
86
config :
82
- @ $(MAKE ) -s - f " $( BASEDIR) /make/configure.mk" $(@ ) CONFIG=" $( CONFIG) " $(MAKEFLAGS )
87
+ $(MAKE ) -f " $( BASEDIR) /make/configure.mk" $(@ ) VERBOSE= " $( VERBOSE ) " CONFIG=" $( CONFIG) " - $(MAKEFLAGS )
83
88
84
89
# Release-related targets
85
90
.PHONY : distsrc
86
91
distsrc :
87
- @ echo " Building source code archive"
88
- @ mkdir -p " $( DISTSRC) /modules"
89
- @ $(MAKE ) -s - f " $( BASEDIR) /make/modules.mk" tree BASEDIR=" $( BASEDIR) " MODULES=" $( DISTSRC) /modules" TREE=" 1"
90
- @ cp -R $(BASEDIR ) /include $(BASEDIR ) /make $(BASEDIR ) /src " $( DISTSRC) /"
91
- @ cp $(BASEDIR ) /CHANGELOG $(BASEDIR ) /COPYING* $(BASEDIR ) /Makefile $(BASEDIR ) /* .mk " $( DISTSRC) /"
92
- @ find " $( DISTSRC) " -iname ' .git' | xargs -exec rm -rf {}
93
- @ find " $( DISTSRC) " -iname ' .gitignore' | xargs -exec rm -rf {}
94
- @ tar -C $(DISTSRC_PATH ) -czf " $( BUILDDIR) /$( ARTIFACT_NAME) -$( ARTIFACT_VERSION) -src.tar.gz" " $( ARTIFACT_NAME) "
95
- @ echo " Created archive: $( BUILDDIR) /$( ARTIFACT_NAME) -$( ARTIFACT_VERSION) -src.tar.gz"
96
- @ ln -sf " $( ARTIFACT_NAME) -$( ARTIFACT_VERSION) -src.tar.gz" " $( BUILDDIR) /$( ARTIFACT_NAME) -src.tar.gz"
97
- @ echo " Created symlink: $( BUILDDIR) /$( ARTIFACT_NAME) -src.tar.gz"
98
- @ rm -rf $(DISTSRC_PATH )
99
- @ echo " Build OK"
92
+ echo " Building source code archive"
93
+ mkdir -p " $( DISTSRC) /modules"
94
+ $(MAKE ) -f " $( BASEDIR) /make/modules.mk" tree VERBOSE= " $( VERBOSE ) " BASEDIR=" $( BASEDIR) " MODULES=" $( DISTSRC) /modules" TREE=" 1"
95
+ cp -R $(BASEDIR ) /include $(BASEDIR ) /make $(BASEDIR ) /src " $( DISTSRC) /"
96
+ cp $(BASEDIR ) /CHANGELOG $(BASEDIR ) /COPYING* $(BASEDIR ) /Makefile $(BASEDIR ) /* .mk " $( DISTSRC) /"
97
+ find " $( DISTSRC) " -iname ' .git' | xargs -exec rm -rf {}
98
+ find " $( DISTSRC) " -iname ' .gitignore' | xargs -exec rm -rf {}
99
+ tar -C $(DISTSRC_PATH ) -czf " $( BUILDDIR) /$( ARTIFACT_NAME) -$( ARTIFACT_VERSION) -src.tar.gz" " $( ARTIFACT_NAME) "
100
+ echo " Created archive: $( BUILDDIR) /$( ARTIFACT_NAME) -$( ARTIFACT_VERSION) -src.tar.gz"
101
+ ln -sf " $( ARTIFACT_NAME) -$( ARTIFACT_VERSION) -src.tar.gz" " $( BUILDDIR) /$( ARTIFACT_NAME) -src.tar.gz"
102
+ echo " Created symlink: $( BUILDDIR) /$( ARTIFACT_NAME) -src.tar.gz"
103
+ rm -rf $(DISTSRC_PATH )
104
+ echo " Build OK"
100
105
101
106
# Help
102
107
help :
103
- @ echo " Available targets:"
104
- @ echo " all Build all binaries"
105
- @ echo " clean Clean all build files and configuration file"
106
- @ echo " config Configure build"
107
- @ echo " depend Update build dependencies for current project"
108
- @ echo " distsrc Make tarball with source code for packagers"
109
- @ echo " fetch Fetch all desired source code dependencies from git"
110
- @ echo " help Print this help message"
111
- @ echo " info Output build configuration"
112
- @ echo " install Install all binaries into the system"
113
- @ echo " prune Cleanup build and all fetched dependencies from git"
114
- @ echo " tree Fetch all possible source code dependencies from git"
115
- @ echo " to make source code portable between machines"
116
- @ echo " uninstall Uninstall binaries"
117
- @ echo " "
118
- @ $(MAKE ) -s - f " $( BASEDIR) /make/configure.mk" $(@ )
119
- @ echo " "
108
+ echo " Available targets:"
109
+ echo " all Build all binaries"
110
+ echo " clean Clean all build files and configuration file"
111
+ echo " config Configure build"
112
+ echo " depend Update build dependencies for current project"
113
+ echo " distsrc Make tarball with source code for packagers"
114
+ echo " fetch Fetch all desired source code dependencies from git"
115
+ echo " help Print this help message"
116
+ echo " info Output build configuration"
117
+ echo " install Install all binaries into the system"
118
+ echo " prune Cleanup build and all fetched dependencies from git"
119
+ echo " tree Fetch all possible source code dependencies from git"
120
+ echo " to make source code portable between machines"
121
+ echo " uninstall Uninstall binaries"
122
+ echo " "
123
+ $(MAKE ) -f " $( BASEDIR) /make/configure.mk" $(@ ) VERBOSE= " $( VERBOSE ) "
124
+ echo " "
0 commit comments