Imported Upstream version 4.0.43
[platform/upstream/mtools.git] / Makefile.in
1 #  Copyright 1996-2004,2006-2010 Alain Knaff.
2 #  This file is part of mtools.
3 #
4 #  Mtools is free software: you can redistribute it and/or modify
5 #  it under the terms of the GNU General Public License as published by
6 #  the Free Software Foundation, either version 3 of the License, or
7 #  (at your option) any later version.
8 #
9 #  Mtools is distributed in the hope that it will be useful,
10 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
11 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 #  GNU General Public License for more details.
13 #
14 #  You should have received a copy of the GNU General Public License
15 #  along with Mtools.  If not, see <http://www.gnu.org/licenses/>.
16 #
17 #       Makefile for Mtools
18 #
19 # check the Configure file for some examples of device-specific setups
20 # Berkeley flavors of Unix should include -DBSD in the CFLAGS.  Pick
21 # a lock method... either -DLOCKF, -DFLOCK, or -DFCNTL and put that
22 # string in the CFLAGS line below.
23
24 # User specified flags
25 USERCFLAGS = 
26 USERLDFLAGS =
27 USERLDLIBS =
28
29 MAKEINFO = makeinfo
30 TEXI2DVI = texi2dvi
31 TEXI2PDF = texi2pdf
32 TEXI2HTML = texi2html
33
34
35 # do not edit below this line
36 # =============================================================================
37
38 SHELL = /bin/sh
39
40 top_srcdir=@top_srcdir@
41 srcdir=@srcdir@
42 VPATH=@srcdir@
43
44 prefix      = @prefix@
45 exec_prefix = @exec_prefix@
46 bindir      = @bindir@
47 infodir     = @infodir@
48 mandir      = @mandir@
49 sysconfdir  = @sysconfdir@
50 datarootdir = @datarootdir@
51
52 CC         = @CC@
53 CXX        = @CXX@
54 MYCFLAGS   = @CFLAGS@
55 MYCXXFLAGS = @CXXFLAGS@
56 CPPFLAGS   = @CPPFLAGS@
57 HOST_ID    = @HOST_ID@
58 DEFS       = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)\" $(HOST_ID)
59
60 LDFLAGS     = @LDFLAGS@
61 LIBS        = @LIBS@
62 SHLIB       = @SHLIB@
63 MACHDEPLIBS = @MACHDEPLIBS@     
64 LN_S        = @LN_S@
65
66 INSTALL         = @INSTALL@
67 INSTALL_PROGRAM = @INSTALL_PROGRAM@
68 INSTALL_DATA    = @INSTALL_DATA@
69 INSTALL_INFO    = @INSTALL_INFO@
70
71 .SUFFIXES:
72 .SUFFIXES: .o .c
73 .SUFFIXES: .o .c
74
75 MAN1 = floppyd.1 floppyd_installtest.1 mattrib.1 mbadblocks.1 mcat.1    \
76 mcd.1 mcopy.1 mdel.1 mdeltree.1 mdir.1 mdu.1 mformat.1  \
77 minfo.1 mkmanifest.1 mlabel.1 mmd.1 mmount.1 mmove.1 mpartition.1       \
78 mrd.1 mren.1 mshortname.1 mshowfat.1 mtoolstest.1 mtools.1 mtype.1      \
79 mzip.1
80
81 MAN1EXT = 1
82 MAN1DIR = $(DESTDIR)$(mandir)/man${MAN1EXT}
83 MAN5    = mtools.5
84 MAN5EXT = 5
85 MAN5DIR = $(DESTDIR)$(mandir)/man${MAN5EXT}
86
87 # objects for building mtools
88 OBJS_MTOOLS = buffer.o charsetConv.o codepages.o config.o copyfile.o    \
89 device.o devices.o dirCache.o directory.o direntry.o dos2unix.o         \
90 expand.o fat.o fat_free.o file.o file_name.o force_io.o hash.o init.o   \
91 lba.o llong.o lockdev.o match.o mainloop.o mattrib.o mbadblocks.o       \
92 mcat.o mcd.o mcopy.o mdel.o mdir.o mdoctorfat.o mdu.o   \
93 mformat.o minfo.o misc.o missFuncs.o mk_direntry.o mlabel.o mmd.o       \
94 mmount.o mmove.o mpartition.o mshortname.o mshowfat.o mzip.o mtools.o   \
95 offset.o old_dos.o open_image.o patchlevel.o partition.o plain_io.o     \
96 precmd.o privileges.o remap.o scsi_io.o scsi.o signal.o stream.o        \
97 streamcache.o swap.o unix2dos.o unixdir.o tty.o vfat.o          \
98 strtonum.o @FLOPPYD_IO_OBJ@ @XDF_IO_OBJ@
99
100 # objects for building mkmanifest
101 OBJS_MKMANIFEST = missFuncs.o mkmanifest.o misc.o patchlevel.o
102
103 # objects for building floppyd
104 OBJS_FLOPPYD = floppyd.o llong.o lockdev.o
105
106 # objects for building floppyd_installtest
107 OBJS_FLOPPYD_INSTALLTEST = floppyd_installtest.o misc.o expand.o        \
108 privileges.o strtonum.o
109
110 SRCS = buffer.c codepages.c config.c copyfile.c device.c devices.c      \
111 dirCache.c directory.c direntry.c dos2unix.c expand.c fat.c             \
112 fat_free.c file.c file_name.c file_read.c force_io.c hash.c init.c      \
113 lba.c lockdev.c match.c mainloop.c mattrib.c mbadblocks.c mcat.c        \
114 mcd.c mcopy.c mdel.c mdir.c mdu.c mdoctorfat.c          \
115 mformat.c minfo.c misc.c missFuncs.c mk_direntry.c mlabel.c mmd.c       \
116 mmount.c mmove.c mpartition.c mshortname.c mshowfat.c mzip.c mtools.c   \
117 offset.c old_dos.c open_image.c partition.c plain_io.c precmd.c         \
118 privileges.c remap.c scsi_io.c scsi.c signal.c stream.c streamcache.c   \
119 swap.c unix2dos.s unixdir.c tty.c vfat.c mkmanifest.c                   \
120 @FLOPPYD_IO_SRC@ @XDF_IO_SRC@
121
122 SCRIPTS = mcheck mxtar uz tgz mcomp amuFormat.sh
123
124 LINKS=mattrib mcat mcd mcopy mdel mdeltree mdir mdu     \
125 mformat minfo mlabel mmd mmount mmove mpartition mrd mren mtype \
126 mtoolstest mshortname mshowfat mbadblocks mzip
127
128 X_CFLAGS = @X_CFLAGS@
129 X_LIBS = @X_LIBS@
130 X_EXTRA_LIBS = @X_EXTRA_LIBS@
131 X_PRE_LIBS = @X_PRE_LIBS@
132 CFLAGS = $(CPPFLAGS) $(DEFS) $(MYCFLAGS) -I. @extraincludedir@ -I@srcdir@ $(USERCFLAGS)
133 CXXFLAGS  = $(CPPFLAGS) $(DEFS) $(MYCXXFLAGS) -I. @extraincludedir@ -I@srcdir@ $(USERCFLAGS)
134 LINK      = $(CC) $(LDFLAGS) $(USERLDFLAGS) @extralibdir@
135 ALLLIBS   = $(USERLDLIBS) $(MACHDEPLIBS) $(SHLIB) $(X_EXTRA_LIBS) $(LIBS)
136 X_LDFLAGS = $(X_EXTRA_LIBS) $(X_LIBS) @FLOPPYD_LIBS@ $(LIBS)
137 X_CCFLAGS = $(X_CFLAGS) $(CFLAGS)
138
139 all:    mtools $(LINKS) mkmanifest @FLOPPYD@ mtools.1 mtools.5
140
141 %.o: %.c
142         $(CC) $(CFLAGS) -c $<
143
144 #%.o: %.cpp
145 #       $(CXX) $(CXXFLAGS) -c $<
146
147 mtools: $(OBJS_MTOOLS)
148         $(LINK) $(OBJS_MTOOLS) -o $@ $(ALLLIBS)
149
150 mkmanifest: $(OBJS_MKMANIFEST)
151         $(LINK) $(OBJS_MKMANIFEST) -o $@ $(ALLLIBS)
152
153 floppyd.o: floppyd.c
154         $(CC) $(X_CCFLAGS) -c $?
155
156 floppyd: $(OBJS_FLOPPYD)
157         $(LINK) $(OBJS_FLOPPYD) -o $@ $(X_LDFLAGS)
158 floppyd_installtest: $(OBJS_FLOPPYD_INSTALLTEST)
159         $(LINK) $(OBJS_FLOPPYD_INSTALLTEST) -o $@ $(ALLLIBS)
160
161
162 $(LINKS): mtools
163         rm -f $@ && $(LN_S) mtools $@
164
165 mostlyclean:
166         -rm -f *~ *.orig *.o a.out core 2>/dev/null
167
168 clean:  mostlyclean
169         -rm -f mtools $(LINKS) floppyd floppyd_installtest mkmanifest *.info* *.dvi *.html 2>/dev/null
170
171
172 texclean:
173         -rm -f mtools.aux mtools.toc mtools.log
174         -rm -f mtools.cps mtools.pgs mtools.vrs
175         -rm -f mtools.cp mtools.fn mtools.ky
176         -rm -f mtools.pg mtools.tp mtools.vr
177
178 info: mtools.info
179 %.info: %.texi sysconfdir.texi
180         $(MAKEINFO) -I$(srcdir) $< --no-split --output=$@
181
182 dvi: mtools.dvi
183 %.dvi: %.texi sysconfdir.texi
184         $(TEXI2DVI) $<
185
186 ps: mtools.ps
187 %.ps: %.dvi
188         dvips -f < $< > $@
189
190 pdf: mtools.pdf
191 %.pdf: %.texi sysconfdir.texi
192         $(TEXI2PDF) $<
193
194 mtools.1: mtools.tmpl.1 Makefile
195         sed "s%SYSCONFDIR%$(sysconfdir)/%g" $(srcdir)/mtools.tmpl.1 >mtools.1
196
197 mtools.5: mtools.tmpl.5 Makefile
198         sed "s%SYSCONFDIR%$(sysconfdir)/%g" $(srcdir)/mtools.tmpl.5 >mtools.5
199
200 sysconfdir.texi:
201         echo "@set SYSCONFDIR $(sysconfdir)/" >sysconfdir.texi
202
203 html: mtools.html mtools_toc.html
204 %.html %_toc.html: %.texi  sysconfdir.texi
205         $(TEXI2HTML) $<
206
207 # Don't cd, to avoid breaking install-sh references.
208 install-info: info
209         $(top_srcdir)/mkinstalldirs $(DESTDIR)$(infodir)
210         if test -f mtools.info; then \
211           for i in mtools.info*; do \
212             $(INSTALL_DATA) $$i $(DESTDIR)$(infodir)/$$i; \
213           done; \
214         else \
215           for i in $(srcdir)/mtools.info*; do \
216             $(INSTALL_DATA) $$i $(DESTDIR)$(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
217           done; \
218         fi; \
219         if [ -n "$(INSTALL_INFO)" ] ; then \
220                 $(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/mtools.info; \
221         fi
222
223 uninstall-info:
224         cd $(DESTDIR)$(infodir) && rm -f mtools.info*
225
226 install:        $(DESTDIR)$(bindir)/mtools @BINFLOPPYD@ install-man install-links \
227                 $(DESTDIR)$(bindir)/mkmanifest install-scripts install-info
228
229 uninstall:      uninstall-bin uninstall-man uninstall-links \
230                 uninstall-scripts
231
232 distclean: clean texclean
233         rm -f config.cache config.h config.status config.log Makefile
234 maintainer-clean: distclean
235
236
237 $(DESTDIR)$(bindir)/floppyd: floppyd
238         $(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
239         $(INSTALL_PROGRAM) floppyd $(DESTDIR)$(bindir)/floppyd
240
241 $(DESTDIR)$(bindir)/floppyd_installtest: floppyd_installtest
242         $(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
243         $(INSTALL_PROGRAM) floppyd_installtest $(DESTDIR)$(bindir)/floppyd_installtest
244
245 $(DESTDIR)$(bindir)/mtools: mtools
246         $(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
247         $(INSTALL_PROGRAM) mtools $(DESTDIR)$(bindir)/mtools
248
249 $(DESTDIR)$(bindir)/mkmanifest: mkmanifest
250         $(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
251         $(INSTALL_PROGRAM) mkmanifest $(DESTDIR)$(bindir)/mkmanifest
252
253 #$(ETCDIR)/mtools: mtools.etc
254 #       cp mtools.etc $(ETCDIR)/mtools
255
256 install-links: $(DESTDIR)$(bindir)/mtools
257         @for j in $(LINKS); do \
258                 rm -f $(DESTDIR)$(bindir)/$$j ; \
259                 $(LN_S) mtools $(DESTDIR)$(bindir)/$$j ; \
260                 echo $(DESTDIR)$(bindir)/$$j ; \
261         done
262
263 ## "z" is the older version of "gz"; the name is just *too* short
264 install-scripts: $(DESTDIR)$(bindir)/mtools
265         @$(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
266         @for j in $(SCRIPTS) ; do \
267                 $(INSTALL_PROGRAM) $(srcdir)/scripts/$$j $(DESTDIR)$(bindir)/$$j ; \
268                 echo $(DESTDIR)$(bindir)/$$j ; \
269         done
270         rm -f $(DESTDIR)$(bindir)/lz
271         cd $(DESTDIR)$(bindir) && $(LN_S) uz lz
272
273 install-man:
274         @$(top_srcdir)/mkinstalldirs $(MAN1DIR)
275         @for j in $(MAN1); do \
276                 $(INSTALL_DATA) $(srcdir)/$$j $(MAN1DIR)/$$j ; \
277                 echo $(MAN1DIR)/$$j ; \
278         done
279         @$(top_srcdir)/mkinstalldirs $(MAN5DIR)
280         @for j in $(MAN5); do \
281                 $(INSTALL_DATA) $(srcdir)/$$j $(MAN5DIR)/$$j ; \
282                 echo $(MAN5DIR)/$$j ; \
283         done
284
285 uninstall-bin:
286         @for j in mtools mkmanifest; do \
287                 rm -f $(DESTDIR)$(bindir)/$$j ; \
288                 echo $(DESTDIR)$(bindir)/$$j ; \
289         done
290
291 uninstall-scripts:
292         @for j in $(SCRIPTS); do \
293                 rm -f $(DESTDIR)$(bindir)/$$j ; \
294                 echo $(DESTDIR)$(bindir)/$$j ; \
295         done
296
297 uninstall-man:
298         @for j in $(MAN1); do \
299                 rm -f $(MAN1DIR)/$$j ; \
300                 echo $(MAN1DIR)/$$j ; \
301         done
302         @for j in $(MAN5); do \
303                 rm -f $(MAN5DIR)/$$j ; \
304                 echo $(MAN5DIR)/$$j ; \
305         done
306
307 uninstall-links:
308         @for j in $(LINKS); \
309                 do rm -f $(DESTDIR)$(bindir)/$$j ; \
310                 echo $(DESTDIR)$(bindir)/$$j ; \
311         done
312
313 depend: $(SRCS)
314         makedepend -- $(CFLAGS) -- $^
315
316 check:
317         echo No self tests included
318 # check target needed even if empty, in order to make life easier for
319 # automatic tools to install GNU soft
320
321
322 # DO NOT DELETE THIS LINE -- make depend depends on it.