-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile.gnu
57 lines (45 loc) · 1.38 KB
/
Makefile.gnu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# Copyright (C) 2010-2012 Robrecht Dewaele
#
# This file is part of Elbow.
#
# Elbow is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Elbow is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Elbow. If not, see <http://www.gnu.org/licenses/>.
EXECUTABLE=elbow
SOURCEDIR=src
SOURCEDIRMAKEFILE=Makefile.gnu
TARFILES=COPYING INSTALL Makefile.gnu README src
EXECPATH=$(SOURCEDIR)/$(EXECUTABLE)
DATE=$(shell date +%F_%H-%M-%S)
TARNAME=$(EXECUTABLE)-$(DATE)
TARDIRNAME=$(TARNAME)
SOURCEMAKECMD=$(MAKE) -C $(SOURCEDIR) -f $(SOURCEDIRMAKEFILE)
$(EXECUTABLE): $(EXECPATH)
cp $(SOURCEDIR)/$(EXECUTABLE) $(EXECUTABLE)
src/%:
$(SOURCEMAKECMD) $*
%::
$(SOURCEMAKECMD) $@
clean:
rm -f $(EXECUTABLE)
$(SOURCEMAKECMD) $@
mrproper: clean
rm -f $(EXECUTABLE)-*.tar.bz2
$(MAKE) -C $(SOURCEDIR) $@
tar: $(TARDIRNAME) mrproper
cp -r $(TARFILES) $<
tar cvjf $(TARNAME).tar.bz2 $<
rm -rf $<
$(TARDIRNAME):
rm -rf $@
mkdir $@
.PHONY: clean mrproper tar $(TARDIRNAME)