~ubuntu-branches/ubuntu/natty/quilt/natty

« back to all changes in this revision

Viewing changes to Makefile.in

  • Committer: Bazaar Package Importer
  • Author(s): Martin Quinson
  • Date: 2006-11-23 16:17:11 UTC
  • mfrom: (2.1.6 feisty)
  • Revision ID: james.westby@ubuntu.com-20061123161711-b17ess0ls8t959ca
Tags: 0.45-6
* [debian/patches/override_mail_sender_in_testsuite]
  Fix the patch to catch all occurences of 'quilt mail' since each of them
  will cause a FTBFS on misconfigured hosts (thanks to Goswin Brederlow).
  (Closes: #397285, #395482, #393985) I hope, at least.
  
* [debian/patches/doc_improvement]
  Fix some more typos in the manpages
  (Closes: #386548, #395447)

* [debian/control]
   Add procmail to suggest list to help users locating the 'formail' tool.
   (Closes: #396093)

Show diffs side-by-side

added added

removed removed

Lines of Context:
13
13
localedir :=    $(datadir)/locale
14
14
etcdir :=       $(subst /usr/etc,/etc,$(prefix)/etc)
15
15
 
16
 
QUILT_DIR =     $(datadir)/$(PACKAGE)
17
 
SCRIPTS_DIR =   $(QUILT_DIR)/scripts
18
 
LIB_DIR =       $(libdir)/$(PACKAGE)
19
 
 
20
16
INSTALL :=      @INSTALL@
 
17
POD2MAN :=      @POD2MAN@
 
18
COLUMN :=       @COLUMN@
 
19
GETOPT :=       @GETOPT@
 
20
CP :=           @CP@
 
21
DATE :=         @DATE@
21
22
PERL :=         @PERL@
22
23
BASH :=         @BASH@
 
24
GREP :=         @GREP@
 
25
TAIL :=         @TAIL@
 
26
TR :=           @TR@
23
27
SED :=          @SED@
24
28
AWK :=          @AWK@
 
29
FIND :=         @FIND@
25
30
DIFF :=         @DIFF@
26
31
PATCH :=        @PATCH@
27
32
MKTEMP :=       @MKTEMP@
 
33
MSGMERGE :=     @MSGMERGE@
28
34
MSGFMT :=       @MSGFMT@
 
35
XGETTEXT :=     @XGETTEXT@
 
36
MSGUNIQ :=      @MSGUNIQ@
 
37
MSGCAT :=       @MSGCAT@
29
38
DIFFSTAT :=     @DIFFSTAT@
30
39
RPMBUILD :=     @RPMBUILD@
31
 
MTA :=          @MTA@
32
 
 
33
 
ifeq "$(MSGFMT)" ""
34
 
MAKE_NLS :=     @true
35
 
else
36
 
MAKE_NLS :=     $(MAKE)
 
40
SENDMAIL :=     @SENDMAIL@
 
41
 
 
42
USE_NLS :=      @USE_NLS@
 
43
PATCH_WRAPPER := @PATCH_WRAPPER@
 
44
 
 
45
CC :=           @CC@
 
46
CPPFLAGS +=     @CPPFLAGS@ @DEFS@
 
47
CFLAGS +=       @CFLAGS@
 
48
LDFLAGS +=      @LDFLAGS@
 
49
LIBS :=         @LIBS@
 
50
EXEEXT :=       @EXEEXT@
 
51
 
 
52
LIBOBJS :=      $(filter $(patsubst lib/%.c,lib/%.o,$(wildcard lib/*.c)), $(patsubst %,lib/%,@LIBOBJS@))
 
53
ifneq ($(LIBOBJS),)
 
54
CFLAGS += -Ilib
37
55
endif
38
56
 
39
 
CFLAGS :=       @CFLAGS@ -Wall
 
57
COMPAT_SYMLINKS := @COMPAT_SYMLINKS@
 
58
COMPAT_PROGRAMS := @COMPAT_PROGRAMS@
40
59
 
41
 
ISODATE :=      $(shell date +%Y-%m-%d)
 
60
default: all
42
61
 
43
62
#-----------------------------------------------------------------------
44
 
DIRT +=         $(shell find -name '*~')
45
 
DIRT +=         $(shell find -name '.\#*')
 
63
DIRT +=         $(shell $(FIND) . -name '*~')
 
64
DIRT +=         $(shell $(FIND) . -name '.\#*')
46
65
 
47
 
SRC +=          COPYING AUTHORS TODO BUGS Makefile.in \
48
 
                configure.ac config/install-sh \
49
 
                quilt.spec.in quilt.changes \
50
 
                bash_completion quilt.quiltrc
 
66
SRC +=          COPYING AUTHORS TODO Makefile.in configure.ac           \
 
67
                config/install-sh quilt.spec.in quilt.changes           \
 
68
                bash_completion quilt.quiltrc aclocal.m4
51
69
DIRT +=         quilt.spec
52
70
 
53
71
BIN_IN :=       quilt guards
54
72
BIN_SRC :=      $(BIN_IN:%=%.in)
55
73
BIN :=          $(BIN_IN)
56
 
SRC +=          $(BIN_SRC:%=bin/%)
57
 
DIRT +=         $(BIN_IN:%=bin/%)
58
 
 
59
 
QUILT_IN :=     add applied delete diff edit files fold fork graph grep \
60
 
                import mail new next patches pop previous push refresh remove \
61
 
                series setup snapshot top unapplied upgrade
62
 
 
 
74
SRC +=          $(BIN_SRC:%=bin/%) bin/patch-wrapper.in
 
75
DIRT +=         $(BIN_IN:%=bin/%) bin/patch-wrapper
 
76
 
 
77
QUILT_IN :=     $(patsubst quilt/%.in,%,$(wildcard quilt/*.in))
63
78
QUILT_SRC :=    $(QUILT_IN:%=%.in)
64
79
QUILT :=        $(QUILT_IN)
65
80
SRC +=          $(QUILT_SRC:%=quilt/%)
66
81
DIRT +=         $(QUILT_IN:%=quilt/%)
67
82
 
68
 
SCRIPTS_IN :=   patchfns parse-patch inspect dependency-graph edmail
 
83
SCRIPTS_IN :=   patchfns parse-patch inspect dependency-graph edmail    \
 
84
                remove-trailing-ws
 
85
 
69
86
SCRIPTS_SRC :=  $(SCRIPTS_IN:%=%.in)
70
87
SCRIPTS :=      $(SCRIPTS_IN)
71
 
SRC +=          $(SCRIPTS_SRC:%=scripts/%)
72
 
DIRT +=         $(SCRIPTS_IN:%=scripts/%)
 
88
SRC +=          $(SCRIPTS_SRC:%=quilt/scripts/%)
 
89
DIRT +=         $(SCRIPTS_IN:%=quilt/scripts/%)
 
90
 
 
91
COMPAT :=       $(COMPAT_PROGRAMS:%=compat/%) $(COMPAT_SYMLINKS:%=compat/%)
 
92
SRC +=          $(wildcard compat/*.in) $(wildcard compat/*.sh)
 
93
DIRT +=         $(patsubst %.in,%,$(wildcard compat/*.in)) $(COMPAT_SYMLINKS:%=compat/%)
73
94
 
74
95
LIB_SRC :=      backup-files.c
75
 
LIB :=          backup-files
 
96
LIB :=          backup-files$(EXEEXT)
76
97
SRC +=          $(LIB_SRC:%=lib/%)
77
 
DIRT +=         lib/backup-files lib/backup-files.o
 
98
DIRT +=         lib/backup-files$(EXEEXT) $(LIB_SRC:%.c=lib/%.o)
78
99
 
79
 
DOC_IN :=       README 
 
100
DOC_IN :=       README
80
101
DOC_SRC :=      $(DOC_IN:%=doc/%.in)
81
102
DOC :=          $(DOC_IN)
82
103
SRC +=          $(DOC_SRC)
83
 
SRC +=          doc/main.tex doc/quilt.pdf doc/Makefile \
84
 
                doc/sample.quiltrc doc/quilt.1.in \
 
104
SRC +=          doc/main.tex doc/quilt.pdf doc/Makefile doc/quilt.1.in  \
85
105
                doc/README.MAIL
86
106
DIRT +=         $(DOC_IN:%=doc/%) doc/quilt.1
87
107
 
88
108
MAN1 :=         bin/guards.1 doc/quilt.1
89
109
DIRT +=         $(MAN1)
90
110
 
91
 
#DEBIAN :=      changelog control copyright rules 
92
 
#
93
 
#SRC +=         $(DEBIAN:%=debian/%)
94
 
 
95
111
LINGUAS :=      fr de ja
96
 
PO :=           Makefile quilt.pot $(LINGUAS:%=%.po)
 
112
PO :=           quilt.pot $(LINGUAS:%=%.po)
97
113
SRC +=          $(PO:%=po/%)
98
 
DIRT +=         po/*.mo
 
114
DIRT +=         po/*.mo po/*~
99
115
 
100
 
SRC +=          $(wildcard test/*.test) test/run
 
116
SRC +=          $(wildcard test/*.test) test/run test/test.quiltrc
101
117
SRC +=          changes2changelog
102
118
 
 
119
NON_EXEC_IN :=  doc/quilt.1 doc/README quilt/scripts/patchfns
 
120
 
 
121
ISODATE :=      $(shell date +%Y-%m-%d)
 
122
 
 
123
TESTS :=        $(wildcard test/*.test)
 
124
DIRT +=         test/.depend $(wildcard test/.*.ok)
 
125
 
 
126
# Settings for running the uninstalled version of quilt in the source tree:
 
127
PATH :=         $(CURDIR)/bin:$(CURDIR)/compat:$(PATH)
 
128
QUILT_DIR :=    $(CURDIR)/quilt
 
129
QUILT_LIB :=    $(CURDIR)/lib
 
130
QUILTRC :=      $(CURDIR)/test/test.quiltrc
 
131
export QUILT_DIR QUILT_LIB QUILTRC
 
132
 
103
133
#-----------------------------------------------------------------------
104
134
 
105
 
all : scripts
106
 
        $(MAKE_NLS) -C po all BUILD_ROOT=$(BUILD_ROOT)
107
 
 
108
 
scripts : $(BIN:%=bin/%) $(QUILT:%=quilt/%) $(SCRIPTS:%=scripts/%) \
109
 
          $(LIB:%=lib/%) $(DOC:%=doc/%) $(MAN1)
110
 
 
111
 
$(QUILT:%=quilt/%) : $(SCRIPTS:%=scripts/%)
 
135
all : configure scripts compat $(DOC:%=doc/%) $(MAN1) mofiles
 
136
 
 
137
$(LIB:%=lib/%) :: $(LIBOBJS)
 
138
 
 
139
ifeq ($(USE_NLS),yes)
 
140
mofiles : $(LINGUAS:%=po/%.mo)
 
141
else
 
142
mofiles :
 
143
endif
 
144
 
 
145
%.mo : %.po
 
146
        $(MSGFMT) --statistics -o $@ $<
 
147
 
 
148
%.po : po/quilt.pot
 
149
        $(MSGMERGE) -o $@ $@ $^
 
150
 
 
151
scripts : $(BIN:%=bin/%) $(QUILT:%=quilt/%)                             \
 
152
          $(SCRIPTS:%=quilt/scripts/%) $(LIB:%=lib/%)                   \
 
153
          $(if $(PATCH_WRAPPER),bin/patch-wrapper)
112
154
 
113
155
dist : clean $(PACKAGE)-$(VERSION).tar.gz
114
156
 
117
159
rpm rpmbuild : $(PACKAGE)-$(VERSION).tar.gz
118
160
        $(RPMBUILD) -ta $<
119
161
 
120
 
doc/README : doc/README.in
 
162
po/quilt.pot: $(filter-out debian/control.in doc/quilt.1.in             \
 
163
                           doc/README.in, $(wildcard */*.in)            \
 
164
                                          $(wildcard */*/*.in))
 
165
        rm -f po/quilt.pot; touch po/quilt.pot
 
166
        for file in $+ ; do                                             \
 
167
          if test -n "`$(SED) -ne '1{ /@BASH''@/p }' $$file`"; then     \
 
168
            $(BASH) --dump-po-strings $$file ;                          \
 
169
          elif test -n "`$(SED) -ne '1{ /@PERL''@/p }' $$file`"; then   \
 
170
            $(XGETTEXT) --from-code=UTF-8 --omit-header --language=Perl \
 
171
                        --keyword=_ -o - $$file;                        \
 
172
          else                                                          \
 
173
            echo "Don't know how to handle $$file" >&2 ;                \
 
174
            exit 1;                                                     \
 
175
          fi                                                            \
 
176
        done                                                            \
 
177
        |$(MSGUNIQ)                                                     \
 
178
        |$(MSGCAT) --force-po -F - $@ -o $@
 
179
 
 
180
doc/README : doc/README.in $(QUILT:%=quilt/%) $(COMPAT)
121
181
        @echo "README.in -> README"
122
 
        @while read line; do \
123
 
                case "$$line" in \
124
 
                '@REFERENCE''@') \
125
 
                        $(MAKE) -s reference |egrep -v '^make'\
126
 
                        ;; \
127
 
                *) \
128
 
                        echo $$line \
129
 
                        ;; \
130
 
                esac ; \
 
182
        @while read line; do                                            \
 
183
                case "$$line" in                                        \
 
184
                '@REFERENCE''@')                                        \
 
185
                        $(MAKE) -s reference                            \
 
186
                        ;;                                              \
 
187
                *)                                                      \
 
188
                        echo $$line                                     \
 
189
                        ;;                                              \
 
190
                esac ;                                                  \
131
191
        done 2>&1 < $< > $@
132
 
        
133
 
doc/quilt.1: doc/quilt.1.in $(QUILT:%=quilt/%)
 
192
 
 
193
doc/quilt.1: doc/quilt.1.in $(QUILT:%=quilt/%) $(COMPAT)
134
194
        @echo "quilt.1.in -> quilt.1"
135
 
        @here=`pwd`;                                     \
136
 
         while read line; do                             \
137
 
          case "$$line" in                               \
138
 
            '@REFERENCE''@')                             \
139
 
               for cmd in $(sort $(QUILT:%=quilt/%)) ; do \
140
 
                (bash -c ". scripts/patchfns ; LC_ALL=C . $$here/$$cmd -h")| \
141
 
                   sed -e 's/Usage: quilt //'            \
142
 
                       -e 's/^\([^ ]*\)/\\fB\1\\fP/'     \
143
 
                       -e 's/^/.IP "/' -e 's/$$/ " 4/' | \
144
 
                   head -n 1;                            \
145
 
                 echo ;                                  \
146
 
                (bash -c ". scripts/patchfns ; LC_ALL=C . $$here/$$cmd -h")| \
147
 
                 grep -v 'Usage: quilt' |                \
148
 
                   sed -e $$'s/^\t//'                    \
149
 
                       -e $$'s/\t/\\\n/' |               \
150
 
                   sed -e 's/^\(-.*\)$$/.IP "    \1" 8/';\
151
 
                 echo;                                   \
152
 
               done                                      \
153
 
             ;;                                          \
154
 
             *)                                          \
155
 
               echo "$$line"                             \
156
 
             ;;                                          \
157
 
           esac ;                                        \
158
 
        done 2>&1 < $< > $@
 
195
        while read line; do                                             \
 
196
          case "$$line" in                                              \
 
197
          '@REFERENCE''@')                                              \
 
198
            $(MAKE) -s reference |                                      \
 
199
            $(SED) -e 's/^quilt \([^ ]*\)\(.*\)/.IP "\\fB\1\\fP\2 " 4/' \
 
200
                   -e $$'s/^  \\(-[^\t]*\\)\t\\?/.IP "    \\1" 8\\\n/'  \
 
201
                   -e $$'s/^  \t\\?//'                                  \
 
202
            ;;                                                          \
 
203
          *)                                                            \
 
204
            echo "$$line"                                               \
 
205
            ;;                                                          \
 
206
          esac;                                                         \
 
207
        done < $< 2>&1 > $@
159
208
 
160
209
.PHONY :: reference
161
 
reference : $(QUILT:%=quilt/%) scripts/patchfns
162
 
        @dir=$(CURDIR); \
163
 
        for i in $(filter-out scripts/patchfns,$+); \
164
 
        do \
165
 
                echo; \
166
 
                (bash -c ". scripts/patchfns ; cd $$dir ;LC_ALL=C . $$i -h"); \
167
 
                echo; \
168
 
        done | \
169
 
        sed -e '/^Usage:/{s/^Usage: \?//;b}' -e '/^$$/!s/^/  /'
 
210
reference : $(QUILT:%=quilt/%) quilt/scripts/patchfns compat
 
211
        @unset LANG LC_MESSAGES LC_CTYPE LC_ALL;                        \
 
212
        for i in $(QUILT);                                              \
 
213
        do                                                              \
 
214
                echo;                                                   \
 
215
                quilt $$i -h;                                           \
 
216
                echo;                                                   \
 
217
        done |                                                          \
 
218
        $(SED) -e 's/\$$EDITOR ([^)]*)/$$EDITOR/'                       \
 
219
               -e '/^$$/!s/^/  /'                                       \
 
220
               -e 's/^  Usage: *//'
170
221
 
171
222
bin/guards.1 : bin/guards
172
 
        mkdir -p $$(dirname $@)
173
 
        pod2man $< > $@
 
223
        $(POD2MAN) $< > $@
174
224
 
175
225
$(PACKAGE)-$(VERSION).tar.gz : $(SRC) configure $(PACKAGE).spec
176
226
        rm -f $(PACKAGE)-$(VERSION) $@
179
229
        rm -f $(PACKAGE)-$(VERSION)
180
230
        @echo "File $@ created."
181
231
 
182
 
$(PACKAGE)-$(ISODATE).tar.bz2 : $(SRC) configure $(PACKAGE).spec
 
232
$(PACKAGE)-$(ISODATE).tar.bz2 : configure $(PACKAGE).spec
183
233
        rm -f $(PACKAGE)-$(ISODATE) $@
184
234
        ln -s . $(PACKAGE)-$(ISODATE)
185
235
        tar chf - $(+:%=$(PACKAGE)-$(ISODATE)/%) | bzip2 -9 > $@
186
236
        rm -f $(PACKAGE)-$(ISODATE)
187
237
        @echo "File $@ created."
188
238
 
189
 
configure : configure.ac
 
239
$(PACKAGE).spec : $(PACKAGE).spec.in $(PACKAGE).changes Makefile
 
240
        @echo "Generating spec file" ;                                  \
 
241
        set -e ;                                                        \
 
242
        changelog="`./changes2changelog $(PACKAGE).changes`" ;          \
 
243
        $(AWK) '{ gsub(/@VERSION''@/, "$(VERSION)") ;                   \
 
244
                  gsub(/@RELEASE''@/, "$(RELEASE)") ;                   \
 
245
                  gsub(/@CHANGELOG''@/, changelog) ;                    \
 
246
                  print }' changelog="$$changelog" $< > $@
 
247
 
 
248
$(patsubst %.in,%,$(wildcard bin/*.in quilt/*.in quilt/scripts/*.in)) :: Makefile
 
249
% :: %.in
 
250
        @echo "$< -> $@" >&2
 
251
        @$(SED) -e 's:@QUILT_LIB''@:$(libdir)/$(PACKAGE):g'             \
 
252
                -e 's:@QUILT_DIR''@:$(datadir)/$(PACKAGE):g'            \
 
253
                -e 's:@PERL''@:$(PERL):g'                               \
 
254
                -e 's:@BASH''@:$(BASH):g'                               \
 
255
                -e 's:@PATCH''@:$(PATCH):g'                             \
 
256
                -e 's:@VERSION''@:$(VERSION):g'                         \
 
257
                -e 's:@RELEASE''@:$(RELEASE):g'                         \
 
258
                -e 's:@LOCALEDIR''@:$(localedir):g'                     \
 
259
                -e 's:@DOCSUBDIR''@:$(docdir)/$(PACKAGE)-$(VERSION):g'  \
 
260
                $< > $@
 
261
        @$(if $(filter-out $<,$(NON_EXEC_IN)),chmod +x $@)
 
262
 
 
263
lib/backup-files.o :: Makefile
 
264
 
 
265
configure : configure.ac aclocal.m4
190
266
        autoconf
191
 
 
192
 
$(PACKAGE).spec : $(PACKAGE).spec.in $(PACKAGE).changes Makefile \
193
 
                  scripts/parse-patch
194
 
        @echo "Generating spec file"
195
 
        @sed -e 's/^\(Version:[ \t]*\).*/\1$(VERSION)/' \
196
 
            -e 's/^\(Release:[ \t]\).*/\1$(RELEASE)/' \
197
 
            < $< > $@
198
 
        @./changes2changelog $(PACKAGE).changes \
199
 
        | scripts/parse-patch -u changelog $@
200
 
 
201
 
% : %.in
202
 
        @echo "$< -> $@" >&2
203
 
        @sed -e 's:@LIB''@:$(LIB_DIR):g' \
204
 
             -e 's:@QUILT''@:$(QUILT_DIR):g' \
205
 
             -e 's:@SCRIPTS''@:$(SCRIPTS_DIR):g' \
206
 
             -e 's:@PERL''@:$(PERL):g' \
207
 
             -e 's:@BASH''@:$(BASH):g' \
208
 
             -e 's:@SED''@:$(SED):g' \
209
 
             -e 's:@AWK''@:$(AWK):g' \
210
 
             -e 's:@DIFF''@:$(DIFF):g' \
211
 
             -e 's:@PATCH''@:$(PATCH):g' \
212
 
             -e 's:@MKTEMP''@:$(MKTEMP):g' \
213
 
             -e 's:@PACKAGE_BUGREPORT''@:$(PACKAGE_BUGREPORT):g' \
214
 
             -e 's:@VERSION''@:$(VERSION):g' \
215
 
             -e 's:@RELEASE''@:$(RELEASE):g' \
216
 
             -e 's:@RPMBUILD''@:$(RPMBUILD):g' \
217
 
             -e 's:@DIFFSTAT''@:$(DIFFSTAT):g' \
218
 
             -e 's:@MTA''@:$(MTA):g' \
219
 
             -e 's:@LOCALEDIR''@:$(localedir):g' \
220
 
             -e 's:@DOCSUBDIR''@:$(docdir)/$(PACKAGE)-$(VERSION):g' \
221
 
             $< > $@
222
 
        @chmod --reference=$< $@
223
 
 
224
 
Makefile : Makefile.in
225
 
        @echo "Please run ./configure by hand"
226
 
        @false
227
 
 
228
 
install : scripts
229
 
        @INSTALL@ -d $(BUILD_ROOT)$(bindir)
230
 
        @INSTALL@ -m 755 $(BIN:%=bin/%) $(BUILD_ROOT)$(bindir)/
231
 
 
232
 
        @INSTALL@ -d $(BUILD_ROOT)$(QUILT_DIR)
233
 
        @INSTALL@ -m 755 $(QUILT:%=quilt/%) $(BUILD_ROOT)$(QUILT_DIR)/
234
 
        
235
 
        @INSTALL@ -d $(BUILD_ROOT)$(SCRIPTS_DIR)
236
 
        @INSTALL@ -m 755 $(filter-out scripts/patchfns, \
237
 
                                      $(SCRIPTS:%=scripts/%)) \
238
 
                  $(BUILD_ROOT)$(SCRIPTS_DIR)
239
 
        @INSTALL@ -m 644 scripts/patchfns $(BUILD_ROOT)$(SCRIPTS_DIR)
240
 
 
241
 
        @INSTALL@ -d $(BUILD_ROOT)$(LIB_DIR)
242
 
        @INSTALL@ -m 755 -s $(LIB:%=lib/%) $(BUILD_ROOT)$(LIB_DIR)/
243
 
 
244
 
        @INSTALL@ -d $(BUILD_ROOT)$(docdir)/$(PACKAGE)-$(VERSION)/
245
 
        @INSTALL@ -m 644 doc/README \
246
 
                $(BUILD_ROOT)$(docdir)/$(PACKAGE)-$(VERSION)/
247
 
        @INSTALL@ -m 644 doc/quilt.pdf doc/README.MAIL \
248
 
                $(BUILD_ROOT)$(docdir)/$(PACKAGE)-$(VERSION)/
249
 
 
250
 
        @INSTALL@ -d $(BUILD_ROOT)$(mandir)/man1
251
 
        @INSTALL@ -m 644 $(MAN1) $(BUILD_ROOT)$(mandir)/man1/
252
 
        
253
 
        $(MAKE_NLS) -C po install BUILD_ROOT=$(BUILD_ROOT) \
254
 
                LINGUAS="$(LINGUAS)" localedir=$(localedir)
255
 
 
256
 
        @INSTALL@ -d $(BUILD_ROOT)$(etcdir)
257
 
        @INSTALL@ -d $(BUILD_ROOT)$(etcdir)/bash_completion.d
258
 
        @INSTALL@ -m 644 bash_completion $(BUILD_ROOT)$(etcdir)/bash_completion.d/quilt
259
 
        @INSTALL@ -m 644 quilt.quiltrc $(BUILD_ROOT)$(etcdir)/
 
267
        @echo "Please run ./configure"
 
268
        @false
 
269
 
 
270
Makefile : Makefile.in configure
 
271
        @echo "Please run ./configure"
 
272
        @false
 
273
 
 
274
compat_leftover := $(filter-out $(COMPAT),$(shell $(FIND) compat -maxdepth 1 -type f -perm +111))
 
275
 
 
276
.PHONY :: compat
 
277
compat :: $(COMPAT)
 
278
        $(if $(compat_leftover),rm -f $(compat_leftover))
 
279
 
 
280
# VIRTUAL_SYMLINKS creates a shell script that operates similar to
 
281
# a symbolic link.  It is used to workaround the way make treats
 
282
# symlinks as targets.
 
283
#   Usage: $(call VIRTUAL_SYMLINK, source, target)
 
284
define VIRTUAL_SYMLINK
 
285
        @echo "Generating $(strip $(1)) wrapper" >&2;
 
286
        @printf "#!%s\nexec %s "'"$$@"'"\n" $(BASH) $(strip $(1)) > $(2);
 
287
endef
 
288
 
 
289
# Rule to create compat/<binary> for each binary in $(COMPAT_SYMLINKS)
 
290
$(COMPAT_SYMLINKS:%=compat/%) :: Makefile
 
291
        $(call VIRTUAL_SYMLINK, \
 
292
                $($(shell echo $@ | $(AWK) '{split($$1, ar, "/"); print toupper(ar[2])}')), \
 
293
                $(strip $@))
 
294
        @chmod +x $(strip $@)
 
295
 
 
296
install-main :: scripts
 
297
        $(INSTALL) -d $(BUILD_ROOT)$(bindir)
 
298
        $(INSTALL) -m 755 $(BIN:%=bin/%) $(BUILD_ROOT)$(bindir)/
 
299
 
 
300
        $(INSTALL) -d $(BUILD_ROOT)$(datadir)/$(PACKAGE)
 
301
        $(INSTALL) -m 755 $(QUILT:%=quilt/%) $(BUILD_ROOT)$(datadir)/$(PACKAGE)/
 
302
 
 
303
        $(INSTALL) -d $(BUILD_ROOT)$(datadir)/$(PACKAGE)/scripts
 
304
        $(INSTALL) -m 755 $(patsubst %,quilt/scripts/%,                 \
 
305
                          $(filter-out patchfns,$(SCRIPTS)))            \
 
306
                   $(BUILD_ROOT)$(datadir)/$(PACKAGE)/scripts
 
307
        $(INSTALL) -m 644 quilt/scripts/patchfns                        \
 
308
                   $(BUILD_ROOT)$(datadir)/$(PACKAGE)/scripts
 
309
ifneq ($(PATCH_WRAPPER),)
 
310
        $(INSTALL) -d $(BUILD_ROOT)$(datadir)/$(PACKAGE)/wrapper
 
311
        $(INSTALL) -m 755 bin/patch-wrapper                             \
 
312
                   $(BUILD_ROOT)$(datadir)/$(PACKAGE)/wrapper/patch
 
313
endif
 
314
        
 
315
        $(INSTALL) -d $(BUILD_ROOT)$(libdir)/$(PACKAGE)
 
316
        $(INSTALL) -m 755 $(LIB:%=lib/%) $(BUILD_ROOT)$(libdir)/$(PACKAGE)/
 
317
 
 
318
        $(INSTALL) -d $(BUILD_ROOT)$(docdir)/$(PACKAGE)-$(VERSION)/
 
319
        $(INSTALL) -m 644 doc/README                                    \
 
320
                   $(BUILD_ROOT)$(docdir)/$(PACKAGE)-$(VERSION)/
 
321
        $(INSTALL) -m 644 doc/quilt.pdf doc/README.MAIL                 \
 
322
                   $(BUILD_ROOT)$(docdir)/$(PACKAGE)-$(VERSION)/
 
323
 
 
324
        $(INSTALL) -d $(BUILD_ROOT)$(mandir)/man1
 
325
        $(INSTALL) -m 644 $(MAN1) $(BUILD_ROOT)$(mandir)/man1/
 
326
 
 
327
        $(INSTALL) -d $(BUILD_ROOT)$(etcdir)
 
328
        $(INSTALL) -d $(BUILD_ROOT)$(etcdir)/bash_completion.d
 
329
        $(INSTALL) -m 644 bash_completion                               \
 
330
                   $(BUILD_ROOT)$(etcdir)/bash_completion.d/quilt
 
331
        $(INSTALL) -m 644 quilt.quiltrc $(BUILD_ROOT)$(etcdir)/
 
332
 
 
333
install-compat: install-compat1 $(COMPAT_SYMLINKS:%=install-compat-symlink-%)
 
334
install-compat-symlink-% :: install-compat1
 
335
        ln -sf $($(shell echo $* | $(AWK) '{print toupper($$1)}'))      \
 
336
               $(BUILD_ROOT)$(datadir)/$(PACKAGE)/compat/$*
 
337
 
 
338
install-compat1:
 
339
        rm -rf $(BUILD_ROOT)$(datadir)/$(PACKAGE)/compat
 
340
ifneq ($(COMPAT_PROGRAMS)$(COMPAT_SYMLINKS),)
 
341
        $(INSTALL) -d $(BUILD_ROOT)$(datadir)/$(PACKAGE)/compat
 
342
ifneq ($(COMPAT_PROGRAMS),)
 
343
        $(INSTALL) -m 755 $(COMPAT_PROGRAMS:%=compat/%)                 \
 
344
                   $(BUILD_ROOT)$(datadir)/$(PACKAGE)/compat
 
345
endif
 
346
endif
 
347
 
 
348
install: install-main install-compat
 
349
 
 
350
uninstall ::
 
351
        rm -rf $(BIN:%=$(BUILD_ROOT)$(bindir)/%)                        \
 
352
               $(BUILD_ROOT)$(libdir)/$(PACKAGE)                        \
 
353
               $(BUILD_ROOT)$(datadir)/$(PACKAGE)                       \
 
354
               $(patsubst %,$(BUILD_ROOT)$(mandir)/man1/%,              \
 
355
                   $(notdir $(MAN1)))                                   \
 
356
               $(BUILD_ROOT)$(etcdir)/bash_completion.d/quilt           \
 
357
               $(BUILD_ROOT)$(etcdir)/quilt.quiltrc                     \
 
358
               $(BUILD_ROOT)$(docdir)/$(PACKAGE)-$(VERSION)/
 
359
 
 
360
check: $(TESTS:test/%.test=test/.%.ok)
 
361
check-all: $(TESTS:test/%.test=check-%)
 
362
 
 
363
check-% : test/.%.ok
 
364
        @/bin/true
 
365
 
 
366
# Only include the test suite dependencies when required
 
367
ifneq ($(findstring test,$(MAKECMDGOALS))$(findstring check,$(MAKECMDGOALS)),)
 
368
-include test/.depend
 
369
endif # (test|check)
 
370
 
 
371
quilt/refresh :: quilt/scripts/remove-trailing-ws
 
372
quilt/mail :: quilt/scripts/edmail
 
373
test/.patch-wrapper.ok : bin/patch-wrapper
 
374
 
 
375
# Include a run-time generated list of dependencies for each test case
 
376
test/.depend : Makefile $(TESTS)
 
377
        @(  printf "%s : bin/quilt quilt/scripts/patchfns $(LIB:%=lib/%) $(COMPAT)\n" $(TESTS); \
 
378
            $(AWK) 'sub(/.*\$$ *quilt /, "")                            \
 
379
                        { print FILENAME, ":", "quilt/"$$1}' $(TESTS); \
 
380
            $(AWK) 'sub(/.*\<quilt_command /, "") && ($$1 !~ /[^a-z]/)  \
 
381
                        { print FILENAME, ":", "quilt/"$$1 }' quilt/*.in; \
 
382
        ) | sort -u | $(SED) -re 's:^test/(.*)\.test:test/.\1.ok:' > $@
 
383
 
 
384
ifneq ($(shell . $(QUILTRC) ;  echo $$QUILT_PATCHES_PREFIX),)
 
385
CHECK_ENV := P=patches/; _P=../patches/; export P _P
 
386
endif
 
387
 
 
388
# Each tests dependencies are stored in test/.depend
 
389
ifneq ($(findstring check-,$(MAKECMDGOALS)),)
 
390
test/.%.ok : test/%.test FORCE
 
391
else
 
392
test/.%.ok : test/%.test
 
393
endif
 
394
        @echo "[$(<F)]"
 
395
        @LANG=C;                                                        \
 
396
        export LANG ;                                                   \
 
397
        $(CHECK_ENV);                                                   \
 
398
        cd $(@D);                                                       \
 
399
        ./run $(<F)
 
400
        @touch $@
260
401
 
261
402
clean :
262
403
        rm -f $(DIRT)
263
 
        rm -f po/*.mo
264
 
        
 
404
 
265
405
distclean : clean
266
406
        rm -f config.log config.status Makefile
267
407
        rm -rf autom4te.cache/
 
408
 
 
409
ifeq ($(USE_NLS),yes)
 
410
install-main ::
 
411
        for lang in $(LINGUAS) ; do                                     \
 
412
                dir=$(BUILD_ROOT)$(localedir)/$$lang/LC_MESSAGES;       \
 
413
                install -d $$dir;                                       \
 
414
                install -m 644 po/$$lang.mo                             \
 
415
                    $$dir/quilt.mo ;                                    \
 
416
        done
 
417
 
 
418
uninstall ::
 
419
        for lang in $(LINGUAS) ; do                                     \
 
420
                dir=$(BUILD_ROOT)$(localedir)/$$lang/LC_MESSAGES;       \
 
421
                rm -f $$dir/quilt.mo ;                                  \
 
422
        done
 
423
endif
 
424
 
 
425
.PHONY :: all install uninstall clean distclean
 
426
 
 
427
# Clear the suffix list
 
428
.SUFFIXES:
 
429
.SUFFIXES: .c .o .in
 
430
# Bad gmake, never *ever* try to get a file out of source control by yourself.
 
431
%: %,v
 
432
%: RCS/%,v
 
433
%: RCS/%
 
434
%: s.%
 
435
%: SCCS/s.%
 
436
 
 
437
FORCE: