Skip to content

Commit c6ecf5a

Browse files
committed
Code update
1 parent addac0b commit c6ecf5a

File tree

12 files changed

+624
-352
lines changed

12 files changed

+624
-352
lines changed

Makefile

Lines changed: 55 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@
1919
# along with lsp-plugins-shared. If not, see <https://www.gnu.org/licenses/>.
2020
#
2121

22+
# Command-line flag to silence nested $(MAKE).
23+
ifneq ($(VERBOSE),1)
24+
.SILENT:
25+
endif
26+
2227
# Location
2328
BASEDIR := $(CURDIR)
2429
MODULES := $(BASEDIR)/modules
@@ -37,83 +42,83 @@ include $(BASEDIR)/project.mk
3742

3843
# Setup paths
3944
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
4146
DISTSRC = $(DISTSRC_PATH)/$(ARTIFACT_NAME)
4247

4348
.DEFAULT_GOAL := all
4449
.PHONY: all compile install uninstall depend clean
4550

4651
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)"
4954

5055
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"
5459

5560
# Module-related tasks
5661
.PHONY: fetch tree prune
5762
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"
6267

6368
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"
6772

6873
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"
7479

7580
# Configuration-related targets
7681
.PHONY: config help chkconfig
7782

7883
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)
8085

8186
config:
82-
@$(MAKE) -s -f "$(BASEDIR)/make/configure.mk" $(@) CONFIG="$(CONFIG)" $(MAKEFLAGS)
87+
$(MAKE) -f "$(BASEDIR)/make/configure.mk" $(@) VERBOSE="$(VERBOSE)" CONFIG="$(CONFIG)" -$(MAKEFLAGS)
8388

8489
# Release-related targets
8590
.PHONY: distsrc
8691
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"
100105

101106
# Help
102107
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 ""

dependencies.mk

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -18,29 +18,23 @@
1818
# along with lsp-plugin-shared. If not, see <https://www.gnu.org/licenses/>.
1919
#
2020

21-
# Variables that describe dependencies
22-
LSP_COMMON_LIB_VERSION := 1.0.14
23-
LSP_COMMON_LIB_NAME := lsp-common-lib
24-
LSP_COMMON_LIB_TYPE := hdr
25-
LSP_COMMON_LIB_URL := git@github.com:lsp-plugins/$(LSP_COMMON_LIB_NAME).git
21+
# List of dependencies
22+
DEPENDENCIES = \
23+
LIBPTHREAD \
24+
LSP_COMMON_LIB \
25+
LSP_PLUGIN_FW
2626

27-
LSP_TEST_FW_VERSION := 1.0.8
28-
LSP_TEST_FW_NAME := lsp-test-fw
29-
LSP_TEST_FW_TYPE := src
30-
LSP_TEST_FW_URL := git@github.com:lsp-plugins/$(LSP_TEST_FW_NAME).git
27+
TEST_DEPENDENCIES = \
28+
LSP_TEST_FW
3129

32-
LSP_PLUGIN_FW_VERSION := 0.5.0
33-
LSP_PLUGIN_FW_NAME := lsp-plugin-fw
34-
LSP_PLUGIN_FW_TYPE := hdr
35-
LSP_PLUGIN_FW_URL := git@github.com:lsp-plugins/$(LSP_PLUGIN_FW_NAME).git
36-
37-
LIBPTHREAD_VERSION := system
38-
LIBPTHREAD_NAME := libpthread
39-
LIBPTHREAD_TYPE := opt
40-
LIBPTHREAD_LDFLAGS := -lpthread
41-
42-
LIBSHLWAPI_VERSION := system
43-
LIBSHLWAPI_NAME := libshlwapi
44-
LIBSHLWAPI_TYPE := opt
45-
LIBSHLWAPI_LDFLAGS := -lshlwapi
30+
# Platform-dependent
31+
ifeq ($(PLATFORM),Windows)
32+
TEST_DEPENDENCIES += \
33+
LIBSHLWAPI
34+
endif
4635

36+
# Overall system dependencies
37+
ALL_DEPENDENCIES = \
38+
$(DEPENDENCIES) \
39+
$(TEST_DEPENDENCIES) \
40+
LIBSHLWAPI

0 commit comments

Comments
 (0)