# # Makefile for Mtools # # check the Configure file for some examples of device-specific setups # Berkeley flavors of Unix should include -DBSD in the CFLAGS. Pick # a lock method... either -DLOCKF, -DFLOCK, or -DFCNTL and put that # string in the CFLAGS line below. # User specified flags USERCFLAGS = USERLDFLAGS = USERLDLIBS = MAKEINFO = makeinfo TEXI2DVI = texi2dvi TEXI2HTML = texi2html # do not edit below this line # ============================================================================= SHELL = /bin/sh top_srcdir=@top_srcdir@ srcdir=@srcdir@ VPATH=@srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ infodir = @infodir@ mandir = @mandir@ infodir = @infodir@ sysconfdir = @sysconfdir@ CC = @CC@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ HOST_ID = @HOST_ID@ DEFS = @DEFS@ -DSYSCONFDIR=\"$(sysconfdir)\" $(HOST_ID) LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ SHLIB = @SHLIB@ MACHDEPLIBS = @MACHDEPLIBS@ LN_S = @LN_S@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ .SUFFIXES: .SUFFIXES: .o .c MAN1 = mattrib.1 mbadblocks.1 mcd.1 mcopy.1 mdel.1 mdeltree.1 mdir.1 \ mformat.1 mkmanifest.1 mlabel.1 mmd.1 mmount.1 mmove.1 mrd.1 mread.1 \ mren.1 mtoolstest.1 mtools.1 mtype.1 mwrite.1 mzip.1 MAN1EXT = 1 MAN1DIR = $(mandir)/man${MAN1EXT} MAN5 = mtools.5 MAN5EXT = 5 MAN5DIR = $(mandir)/man${MAN5EXT} # all files in this directory included in the distribution DIST = \ COPYING Changelog INSTALL Makefile Makefile.in README Release.notes \ buffer.c buffer.h codepage.c codepage.h codepages.c config.c \ config.guess config.h.in config.log config.sub configure configure.in \ copyfile.c devices.c devices.h directory.c expand.c fat.c fat_free.c \ file.c file.h file_name.c file_read.c files filter.c force_io.c fs.h \ fsP.h getopt.h hash.c htable.h init.c mainloop.c match.c mattrib.1 \ mattrib.c mbadblocks.1 mbadblocks.c mcd.1 mcd.c mcopy.1 mcopy.c mdel.1 \ mdel.c mdeltree.1 mdir.1 mdir.c mformat.1 mformat.c minfo.c misc.c tty.c \ scsi.c missFuncs.c mk_direntry.c mkmanifest.1 mkmanifest.c mlabel.1 \ mlabel.c mmd.1 mmd.c mmount.1 mmount.c mmove.1 mmove.c mpartition.c mrd.1 \ mread.1 mren.1 msdos.h mtoolstest.1 mtools.1 mtools.5 mtools.c mtools.conf \ mtools.h mtype.1 mwrite.1 nameclash.h parse.c patchlevel.h plain_io.c \ plain_io.h precmd.c privileges.c scripts signal.c stream.c stream.h \ streamcache.c streamcache.h subdir.c sysincludes.h todo toupper.c vfat.c \ vfat.h xdf_io.c xdf_io.h OBJS1 = buffer.o codepage.o codepages.o config.o copyfile.o devices.o \ directory.o expand.o fat.o fat_free.o file.o file_name.o file_read.o \ filter.o force_io.o hash.o init.o match.o mainloop.o mattrib.o mbadblocks.o \ mcd.o mcopy.o mdel.o mdir.o mformat.o minfo.o misc.o missFuncs.o \ mk_direntry.o mlabel.o mmd.o mmount.o mmove.o mpartition.o mzip.o mtools.o \ parse.o plain_io.o precmd.o privileges.o scsi.o signal.o stream.o \ streamcache.o subdir.o toupper.o tty.o vfat.o xdf_io.o OBJS2 = missFuncs.o mkmanifest.o SRCS = buffer.c codepage.c codepages.c config.c copyfile.c devices.c \ directory.c expand.c fat.c fat_free.c file.c file_name.c file_read.c \ filter.c force_io.c hash.c init.c match.c mainloop.c mattrib.c mbadblocks.c \ mcd.c mcopy.c mdel.c mdir.c mformat.c minfo.c misc.c missFuncs.c \ mk_direntry.c mlabel.c mmd.c mmount.c mmove.c mpartition.c mzip.c mtools.c \ parse.c plain_io.c precmd.c privileges.c scsi.o signal.c stream.c \ streamcache.c subdir.c toupper.c tty.o vfat.c xdf_io.c mkmanifest.c SCRIPTS = mcheck mxtar uz tgz xcopy mcomp LINKS=mattrib mcd mcopy mdel mdeltree mdir mformat minfo mlabel \ mmd mmount mmove mpartition mrd mread mren mtype mwrite mtoolstest \ mbadblocks mzip ALLCFLAGS = $(CPPFLAGS) $(DEFS) $(CFLAGS) -I. -I@srcdir@ $(USERCFLAGS) LINK = $(CC) $(LDFLAGS) $(USERLDFLAGS) ALLLIBS = $(USERLDLIBS) $(MACHDEPLIBS) $(LIBS) $(SHLIB) all: mtools $(LINKS) mkmanifest %.o: %.c $(CC) $(ALLCFLAGS) -c $< mtools: $(OBJS1) $(LINK) $(OBJS1) -o $@ $(ALLLIBS) mkmanifest: $(OBJS2) $(LINK) $(OBJS2) -o $@ $(ALLLIBS) $(LINKS): mtools for name in $(LINKS); \ do rm -f $$name && $(LN_S) mtools $$name; done mostlyclean: -rm -f *~ *.orig *.o a.out core 2>/dev/null clean: mostlyclean -rm -f mtools $(LINKS) mkmanifest *.info* *.dvi *.html 2>/dev/null texclean: -rm mtools.aux mtools.toc mtools.log -rm mtools.cps mtools.pgs mtools.vrs info: mtools.info %.info: %.texi $(MAKEINFO) -I$(srcdir) $< --no-split --output=$@ dvi: mtools.dvi %.dvi: %.texi $(TEXI2DVI) $< html: mtools.html mtools_toc.html %.html %_toc.html: %.texi $(TEXI2HTML) $< # Don't cd, to avoid breaking install-sh references. install-info: info $(top_srcdir)/mkinstalldirs $(infodir) if test -f mtools.info; then \ for i in mtools.info*; do \ $(INSTALL_DATA) $$i $(infodir)/$$i; \ done; \ else \ for i in $(srcdir)/mtools.info*; do \ $(INSTALL_DATA) $$i $(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \ done; \ fi uninstall-info: cd $(infodir) && rm -f mtools.info* install: $(bindir)/mtools install-man install-links \ $(bindir)/mkmanifest install-scripts install-info uninstall: uninstall-bin uninstall-man uninstall-links \ uninstall-scripts distclean: clean rm -f config.cache config.h config.status config.log Makefile maintainer-clean: distclean $(bindir)/mtools: mtools $(top_srcdir)/mkinstalldirs $(bindir) $(INSTALL_PROGRAM) mtools $(bindir)/mtools $(bindir)/mkmanifest: mkmanifest $(top_srcdir)/mkinstalldirs $(bindir) $(INSTALL_PROGRAM) mkmanifest $(bindir)/mkmanifest #$(ETCDIR)/mtools: mtools.etc # cp mtools.etc $(ETCDIR)/mtools install-links: $(bindir)/mtools @for j in $(LINKS); do \ rm -f $(bindir)/$$j ; \ $(LN_S) mtools $(bindir)/$$j ; \ echo $(bindir)/$$j ; \ done ## "z" is the older version of "gz"; the name is just *too* short install-scripts: $(bindir)/mtools @$(top_srcdir)/mkinstalldirs $(bindir) @for j in $(SCRIPTS) ; do \ $(INSTALL_PROGRAM) $(srcdir)/scripts/$$j $(bindir)/$$j ; \ echo $(bindir)/$$j ; \ done rm -f $(bindir)/lz $(LN_S) uz $(bindir)/lz install-man: @$(top_srcdir)/mkinstalldirs $(MAN1DIR) @for j in $(MAN1); do \ $(INSTALL_DATA) $(srcdir)/$$j $(MAN1DIR)/$$j ; \ echo $(MAN1DIR)/$$j ; \ done @$(top_srcdir)/mkinstalldirs $(MAN5DIR) @for j in $(MAN5); do \ $(INSTALL_DATA) $(srcdir)/$$j $(MAN5DIR)/$$j ; \ echo $(MAN5DIR)/$$j ; \ done uninstall-bin: @for j in mtools mkmanifest; do \ rm -f $(bindir)/$$j ; \ echo $(bindir)/$$j ; \ done uninstall-scripts: @for j in $(SCRIPTS); do \ rm -f $(bindir)/$$j ; \ echo $(bindir)/$$j ; \ done uninstall-man: @for j in $(MAN1); do \ rm -f $(MAN1DIR)/$$j ; \ echo $(MAN1DIR)/$$j ; \ done @for j in $(MAN5); do \ rm -f $(MAN5DIR)/$$j ; \ echo $(MAN5DIR)/$$j ; \ done uninstall-links: @for j in $(LINKS); \ do rm -f $(bindir)/$$j ; \ echo $(bindir)/$$j ; \ done depend: $(SRCS) makedepend -- $(ALLCFLAGS) -- $^ check: echo No self tests included # check target needed even if empty, in order to make life easyer for # automatic tools to install GNU soft # DO NOT DELETE THIS LINE -- make depend depends on it.