You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
337 lines
10 KiB
337 lines
10 KiB
# Copyright 1996-2004,2006-2010 Alain Knaff.
|
|
# This file is part of mtools.
|
|
#
|
|
# Mtools 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.
|
|
#
|
|
# Mtools 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 Mtools. If not, see <http://www.gnu.org/licenses/>.
|
|
#
|
|
# 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
|
|
TEXI2PDF = texi2pdf
|
|
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@
|
|
sysconfdir = @sysconfdir@
|
|
datarootdir = @datarootdir@
|
|
|
|
CC = @CC@
|
|
CXX = @CXX@
|
|
MYCFLAGS = @CFLAGS@
|
|
MYCXXFLAGS = @CXXFLAGS@
|
|
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@
|
|
INSTALL_INFO = @INSTALL_INFO@
|
|
|
|
.SUFFIXES:
|
|
.SUFFIXES: .o .c
|
|
.SUFFIXES: .o .c
|
|
|
|
MAN1 = floppyd.1 floppyd_installtest.1 mattrib.1 mbadblocks.1 mcat.1 mcd.1 \
|
|
mclasserase.1 mcopy.1 mdel.1 mdeltree.1 mdir.1 mdu.1 mformat.1 minfo.1 \
|
|
mkmanifest.1 mlabel.1 mmd.1 mmount.1 mmove.1 mpartition.1 \
|
|
mrd.1 mren.1 mshortname.1 mshowfat.1 mtoolstest.1 mtools.1 mtype.1 mzip.1
|
|
MAN1EXT = 1
|
|
MAN1DIR = $(DESTDIR)$(mandir)/man${MAN1EXT}
|
|
MAN5 = mtools.5
|
|
MAN5EXT = 5
|
|
MAN5DIR = $(DESTDIR)$(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 charsetConv.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 dirCache.c dirCache.h directory.c direntry.c \
|
|
expand.c fat.c \
|
|
fat_free.c file.c file.h file_name.h file_name.c files filter.c floppyd.1 \
|
|
floppyd.c floppyd_io.c floppyd_io.h force_io.c fs.h fsP.h \
|
|
getopt.h hash.c htable.h init.c llong.c mainloop.c match.c mattrib.1 \
|
|
mattrib.c mbadblocks.1 mbadblocks.c mcat.1 mcat.c mcd.1 mcd.c mclasserase.c \
|
|
mcopy.1 \
|
|
mcopy.c mdel.1 mdel.c mdeltree.1 mdir.1 mdir.c mdu.c mdu.1 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.1 mpartition.c mrd.1 \
|
|
mren.1 msdos.h mshortname.1 mshowfat.1 mtoolstest.1 mtools.1 mtools.5 mtools.c \
|
|
mtools.conf mtools.h mtype.1 nameclash.h patchlevel.c \
|
|
plain_io.c plain_io.h precmd.c privileges.c scripts signal.c stream.c stream.h \
|
|
streamcache.c streamcache.h subdir.c strtonum.c sysincludes.h unixdir.c todo \
|
|
vfat.c vfat.h xdf_io.c xdf_io.h
|
|
|
|
OBJS1 = buffer.o charsetConv.o codepages.o config.o copyfile.o \
|
|
devices.o dirCache.o directory.o direntry.o expand.o fat.o fat_free.o file.o \
|
|
file_name.o filter.o floppyd_io.o force_io.o hash.o init.o llong.o lockdev.o \
|
|
match.o mainloop.o mattrib.o mbadblocks.o mcat.o mcd.o mclasserase.o mcopy.o \
|
|
mdel.o mdir.o mdoctorfat.o mdu.o \
|
|
mformat.o minfo.o misc.o missFuncs.o mk_direntry.o mlabel.o mmd.o mmount.o \
|
|
mmove.o mpartition.o mshortname.o mshowfat.o mzip.o mtools.o old_dos.o \
|
|
patchlevel.o plain_io.o precmd.o privileges.o scsi.o signal.o stream.o \
|
|
streamcache.o subdir.o unixdir.o tty.o vfat.o xdf_io.o strtonum.o
|
|
|
|
OBJS2 = missFuncs.o mkmanifest.o misc.o patchlevel.o
|
|
|
|
OBJS3 = floppyd.o llong.o lockdev.o
|
|
|
|
OBJS4 = floppyd_installtest.o misc.o expand.o privileges.o strtonum.o
|
|
|
|
SRCS = buffer.c codepages.c config.c copyfile.c devices.c \
|
|
dirCache.c directory.c direntry.c expand.c fat.c fat_free.c file.c file_name.c \
|
|
file_read.c filter.c floppyd_io.c force_io.c hash.c init.c lockdev.c match.c \
|
|
mainloop.c mattrib.c mbadblocks.c mcat.c mcd.c mclasserase.c mcopy.c mdel.c \
|
|
mdir.c mdu.c mdoctorfat.c mformat.c minfo.c misc.c \
|
|
missFuncs.c mk_direntry.c mlabel.c mmd.c mmount.c mmove.c mpartition.c \
|
|
mshortname.c mshowfat.c mzip.c mtools.c old_dos.c plain_io.c precmd.c \
|
|
privileges.c \
|
|
scsi.c signal.c stream.c streamcache.c subdir.c unixdir.c tty.o vfat.c \
|
|
xdf_io.c mkmanifest.c
|
|
|
|
|
|
SCRIPTS = mcheck mxtar uz tgz mcomp amuFormat.sh
|
|
|
|
LINKS=mattrib mcat mcd mclasserase mcopy mdel mdeltree mdir mdu mformat minfo \
|
|
mlabel mmd mmount mmove mpartition mrd mren mtype mtoolstest mshortname \
|
|
mshowfat mbadblocks mzip
|
|
|
|
X_CFLAGS = @X_CFLAGS@
|
|
X_LIBS = @X_LIBS@
|
|
X_EXTRA_LIBS = @X_EXTRA_LIBS@
|
|
X_PRE_LIBS = @X_PRE_LIBS@
|
|
CFLAGS = $(CPPFLAGS) $(DEFS) $(MYCFLAGS) -fno-strict-aliasing -I. @extraincludedir@ -I@srcdir@ $(USERCFLAGS)
|
|
CXXFLAGS = $(CPPFLAGS) $(DEFS) $(MYCXXFLAGS) -I. @extraincludedir@ -I@srcdir@ $(USERCFLAGS)
|
|
LINK = $(CC) $(LDFLAGS) $(USERLDFLAGS) @extralibdir@
|
|
ALLLIBS = $(USERLDLIBS) $(MACHDEPLIBS) $(SHLIB) $(LIBS)
|
|
X_LDFLAGS = $(X_EXTRA_LIBS) $(X_LIBS) -lXau -lX11 $(LIBS)
|
|
X_CCFLAGS = $(X_CFLAGS) $(CFLAGS)
|
|
|
|
all: mtools $(LINKS) mkmanifest @FLOPPYD@ mtools.1 mtools.5
|
|
|
|
%.o: %.c
|
|
$(CC) $(CFLAGS) -c $<
|
|
|
|
#%.o: %.cpp
|
|
# $(CXX) $(CXXFLAGS) -c $<
|
|
|
|
mtools: $(OBJS1)
|
|
$(LINK) $(OBJS1) -o $@ $(ALLLIBS)
|
|
|
|
mkmanifest: $(OBJS2)
|
|
$(LINK) $(OBJS2) -o $@ $(ALLLIBS)
|
|
|
|
floppyd.o: floppyd.c
|
|
$(CC) $(X_CCFLAGS) -c $?
|
|
|
|
floppyd: $(OBJS3)
|
|
$(LINK) $(OBJS3) -o $@ $(X_LDFLAGS)
|
|
floppyd_installtest: $(OBJS4)
|
|
$(LINK) $(OBJS4) -o $@ $(ALLLIBS)
|
|
|
|
|
|
$(LINKS): mtools
|
|
rm -f $@ && $(LN_S) mtools $@
|
|
|
|
mostlyclean:
|
|
-rm -f *~ *.orig *.o a.out core 2>/dev/null
|
|
|
|
clean: mostlyclean
|
|
-rm -f mtools $(LINKS) floppyd floppyd_installtest mkmanifest *.info* *.dvi *.html 2>/dev/null
|
|
|
|
|
|
texclean:
|
|
-rm -f mtools.aux mtools.toc mtools.log
|
|
-rm -f mtools.cps mtools.pgs mtools.vrs
|
|
-rm -f mtools.cp mtools.fn mtools.ky
|
|
-rm -f mtools.pg mtools.tp mtools.vr
|
|
|
|
info: mtools.info
|
|
%.info: %.texi sysconfdir.texi
|
|
$(MAKEINFO) -I$(srcdir) $< --no-split --output=$@
|
|
|
|
dvi: mtools.dvi
|
|
%.dvi: %.texi sysconfdir.texi
|
|
$(TEXI2DVI) $<
|
|
|
|
ps: mtools.ps
|
|
%.ps: %.dvi
|
|
dvips -f < $< > $@
|
|
|
|
pdf: mtools.pdf
|
|
%.pdf: %.texi sysconfdir.texi
|
|
$(TEXI2PDF) $<
|
|
|
|
mtools.1: mtools.tmpl.1 Makefile
|
|
sed "s%SYSCONFDIR%$(sysconfdir)/%g" $(srcdir)/mtools.tmpl.1 >mtools.1
|
|
|
|
mtools.5: mtools.tmpl.5 Makefile
|
|
sed "s%SYSCONFDIR%$(sysconfdir)/%g" $(srcdir)/mtools.tmpl.5 >mtools.5
|
|
|
|
sysconfdir.texi:
|
|
echo "@set SYSCONFDIR $(sysconfdir)/" >sysconfdir.texi
|
|
|
|
html: mtools.html mtools_toc.html
|
|
%.html %_toc.html: %.texi sysconfdir.texi
|
|
$(TEXI2HTML) $<
|
|
|
|
# Don't cd, to avoid breaking install-sh references.
|
|
install-info: info
|
|
$(top_srcdir)/mkinstalldirs $(DESTDIR)$(infodir)
|
|
if test -f mtools.info; then \
|
|
for i in mtools.info*; do \
|
|
$(INSTALL_DATA) $$i $(DESTDIR)$(infodir)/$$i; \
|
|
done; \
|
|
else \
|
|
for i in $(srcdir)/mtools.info*; do \
|
|
$(INSTALL_DATA) $$i $(DESTDIR)$(infodir)/`echo $$i | sed 's|^$(srcdir)/||'`; \
|
|
done; \
|
|
fi; \
|
|
if [ -n "$(INSTALL_INFO)" ] ; then \
|
|
$(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) $(DESTDIR)$(infodir)/mtools.info; \
|
|
fi
|
|
|
|
uninstall-info:
|
|
cd $(DESTDIR)$(infodir) && rm -f mtools.info*
|
|
|
|
install: $(DESTDIR)$(bindir)/mtools @BINFLOPPYD@ install-man install-links \
|
|
$(DESTDIR)$(bindir)/mkmanifest install-scripts install-info
|
|
|
|
uninstall: uninstall-bin uninstall-man uninstall-links \
|
|
uninstall-scripts
|
|
|
|
distclean: clean texclean
|
|
rm -f config.cache config.h config.status config.log Makefile
|
|
maintainer-clean: distclean
|
|
|
|
|
|
$(DESTDIR)$(bindir)/floppyd: floppyd
|
|
$(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
|
|
$(INSTALL_PROGRAM) floppyd $(DESTDIR)$(bindir)/floppyd
|
|
|
|
$(DESTDIR)$(bindir)/floppyd_installtest: floppyd_installtest
|
|
$(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
|
|
$(INSTALL_PROGRAM) floppyd_installtest $(DESTDIR)$(bindir)/floppyd_installtest
|
|
|
|
$(DESTDIR)$(bindir)/mtools: mtools
|
|
$(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
|
|
$(INSTALL_PROGRAM) mtools $(DESTDIR)$(bindir)/mtools
|
|
|
|
$(DESTDIR)$(bindir)/mkmanifest: mkmanifest
|
|
$(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
|
|
$(INSTALL_PROGRAM) mkmanifest $(DESTDIR)$(bindir)/mkmanifest
|
|
|
|
#$(ETCDIR)/mtools: mtools.etc
|
|
# cp mtools.etc $(ETCDIR)/mtools
|
|
|
|
install-links: $(DESTDIR)$(bindir)/mtools
|
|
@for j in $(LINKS); do \
|
|
rm -f $(DESTDIR)$(bindir)/$$j ; \
|
|
$(LN_S) mtools $(DESTDIR)$(bindir)/$$j ; \
|
|
echo $(DESTDIR)$(bindir)/$$j ; \
|
|
done
|
|
|
|
## "z" is the older version of "gz"; the name is just *too* short
|
|
install-scripts: $(DESTDIR)$(bindir)/mtools
|
|
@$(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir)
|
|
@for j in $(SCRIPTS) ; do \
|
|
$(INSTALL_PROGRAM) $(srcdir)/scripts/$$j $(DESTDIR)$(bindir)/$$j ; \
|
|
echo $(DESTDIR)$(bindir)/$$j ; \
|
|
done
|
|
rm -f $(DESTDIR)$(bindir)/lz
|
|
cd $(DESTDIR)$(bindir) && $(LN_S) uz 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 $(DESTDIR)$(bindir)/$$j ; \
|
|
echo $(DESTDIR)$(bindir)/$$j ; \
|
|
done
|
|
|
|
uninstall-scripts:
|
|
@for j in $(SCRIPTS); do \
|
|
rm -f $(DESTDIR)$(bindir)/$$j ; \
|
|
echo $(DESTDIR)$(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 $(DESTDIR)$(bindir)/$$j ; \
|
|
echo $(DESTDIR)$(bindir)/$$j ; \
|
|
done
|
|
|
|
depend: $(SRCS)
|
|
makedepend -- $(CFLAGS) -- $^
|
|
|
|
check:
|
|
echo No self tests included
|
|
# check target needed even if empty, in order to make life easier for
|
|
# automatic tools to install GNU soft
|
|
|
|
|
|
# DO NOT DELETE THIS LINE -- make depend depends on it.
|