blob: cfe977259b5e7662b30f6a0693dd71d771b336f2 (
plain)
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
#!/usr/bin/make -f
#name = Luke's Makefile
#ver = 1.0
# Copyright (C) 2009 Luke Shumaker
#
# This program 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 2 of the
# License, or (at your option) any later version.
#
# This program 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 this program; see the file COPYING.
# If not, see <http://www.gnu.org/licenses>.
# Directories ########################################################
DESTDIR = @DESTDIR@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
dirs = $(DESTDIR) $(prefix) $(exec_prefix) $(bindir) $(sbindir) $(libexecdir)
srcdir = @srcdir@
VPATH = $(srcdir)
# Programs ###########################################################
SHELL = /bin/sh
CC = gcc
INSTALL = install
INSTALL_PROGRAM = $(INSTALL)
INSTALL_DATA = $(INSTALL) -m 644
MKDIR = $(INSTALL) -d #mkdir -p
RM = rm -f
SED = sed
include main.mk
# dist ###############################################################
d = $(name)-$(ver)
.PHONY : dist
dist : $(d).tar.gz
$(d).tar.gz : $(d) $(addprefix $(d)/,$(filelist))
tar -czf $@ $<
$(d) :
$(INSTALL) -m 777 -d $@
$(d)/% : $(srcdir)/% $(d)
$(INSTALL) -m 777 -d $(dir $@)
cp $< $@
# implicit rules #####################################################
$(addprefix $(DESTDIR),$(dirs)) :
$(MKDIR) $@
% : %.sh
$(SED) 's/@VER@/$(ver)/g' < $< > $@
$(DESTDIR)$(bindir)/% : % $(DESTDIR)$(bindir)
$(INSTALL_PROGRAM) $< $@
.PHONY : dist Makefiles
csources = $(filter %.c,$(filelist))
Makefiles : $(shell find '$(srcdir)' -type f -name Makefile.in) \
$(shell find '$(srcdir)' -type f -name Makefile.in) \
$(csources:.c=.d)
%Makefile %.mk : $(srcdir)/configure
$< @CONFIG@
# This is taken straight from the GNU `make' manual.
# That makes it GFDL, which is incompatible with the GPL
# I claim `fair-use'
%.d: %.c
@set -e; rm -f $@; \
$(CC) -M $(CPPFLAGS) $< > $@.$$$$; \
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
rm -f $@.$$$$
ifneq ($(shell ls -d $(csources:.c=.d) 2>/dev/null),)
include $(csources:.c=.d)
endif
|