@@ -37,9 +37,11 @@ include $(BASEDIR)/project.mk
37
37
38
38
# Setup paths
39
39
CHK_CONFIG = test -f "$(CONFIG ) " || (echo "System not properly configured. Please launch 'make config' first" && exit 1)
40
+ DISTSRC_PATH = $(BUILDDIR ) /.distsrc
41
+ DISTSRC = $(DISTSRC_PATH ) /$(ARTIFACT_NAME )
40
42
41
43
.DEFAULT_GOAL := all
42
- .PHONY : all compile install uninstall depend clean chkconfig
44
+ .PHONY : all compile install uninstall depend clean
43
45
44
46
compile all install uninstall depend :
45
47
@$(CHK_CONFIG )
60
62
61
63
tree :
62
64
@echo " Fetching all possible source code dependencies"
63
- @$(MAKE ) -s -f " make/modules.mk" $(@ ) BASEDIR=" $( BASEDIR) " CONFIG= " $( CONFIG ) " TREE=" 1"
65
+ @$(MAKE ) -s -f " make/modules.mk" $(@ ) BASEDIR=" $( BASEDIR) " TREE=" 1"
64
66
@echo " Fetch OK"
65
67
66
68
prune : clean
@@ -71,20 +73,39 @@ prune: clean
71
73
@echo " Prune OK"
72
74
73
75
# Configuration-related targets
74
- .PHONY : config help
76
+ .PHONY : config help chkconfig
75
77
76
78
testconfig :
77
79
@$(MAKE ) -s -f " $( BASEDIR) /make/configure.mk" $(@ ) CONFIG=" $( CONFIG) " TEST=" 1" $(MAKEFLAGS )
78
80
79
81
config :
80
82
@$(MAKE ) -s -f " $( BASEDIR) /make/configure.mk" $(@ ) CONFIG=" $( CONFIG) " $(MAKEFLAGS )
81
83
84
+ # Release-related targets
85
+ .PHONY : distsrc
86
+ distsrc :
87
+ @echo " Building source code archive"
88
+ @mkdir -p " $( DISTSRC) /modules"
89
+ @$(MAKE ) -s -f " 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"
100
+
101
+ # Help
82
102
help :
83
103
@echo " Available targets:"
84
104
@echo " all Build all binaries"
85
105
@echo " clean Clean all build files and configuration file"
86
106
@echo " config Configure build"
87
107
@echo " depend Update build dependencies for current project"
108
+ @echo " distsrc Make tarball with source code for packagers"
88
109
@echo " fetch Fetch all desired source code dependencies from git"
89
110
@echo " help Print this help message"
90
111
@echo " info Output build configuration"
0 commit comments