mirror of
https://github.com/elliotnunn/libhfs.git
synced 2024-11-04 21:05:36 +00:00
318 lines
9.1 KiB
Makefile
318 lines
9.1 KiB
Makefile
#
|
|
# hfsutils - tools for reading and writing Macintosh HFS volumes
|
|
# Copyright (C) 1996-1998 Robert Leslie
|
|
#
|
|
# 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; if not, write to the Free Software
|
|
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
#
|
|
# $Id: Makefile.in,v 1.12 1998/08/31 18:40:14 rob Exp $
|
|
#
|
|
|
|
@SET_MAKE@
|
|
src = @srcdir@
|
|
VPATH = @srcdir@
|
|
|
|
### USER CUSTOMIZATIONS FOLLOW ################################################
|
|
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
|
|
BINDEST = @bindir@
|
|
MANDEST = @mandir@
|
|
|
|
LIBDEST = @libdir@
|
|
INCDEST = @includedir@
|
|
|
|
MANEXT = 1
|
|
|
|
INSTALL = @INSTALL@
|
|
BININSTALL = @INSTALL_PROGRAM@ -m 755
|
|
LIBINSTALL = @INSTALL_DATA@
|
|
HARDLINK = ln -f
|
|
|
|
CC = @CC@
|
|
INCLUDES = @CPPFLAGS@ -Ilibhfs @TCL_INCLUDES@ @TK_INCLUDES@
|
|
DEFINES = @DEFS@
|
|
LIBOBJS = @LIBOBJS@
|
|
LIBS = @LIBS@
|
|
|
|
TCLLIBS = @TCL_LIB_SPEC@ @TCL_LIBS@
|
|
TKLIBS = @TK_LIB_SPEC@ @TCL_LIB_SPEC@ @TK_LIBS@
|
|
|
|
COPTS = @CFLAGS@
|
|
LDOPTS = @LDFLAGS@ -Llibhfs
|
|
|
|
### END OF USER CUSTOMIZATION #################################################
|
|
|
|
CFLAGS = $(COPTS) $(INCLUDES) $(DEFINES)
|
|
LDFLAGS = $(LDOPTS)
|
|
|
|
###############################################################################
|
|
|
|
TARGETS = $(CLITARGETS) $(TCLTARGETS) $(TKTARGETS)
|
|
|
|
CLITARGETS = hattrib hcd hcopy hdel hdir hformat hls hmkdir hmount hpwd \
|
|
hrename hrmdir humount hvol
|
|
TCLTARGETS = hfssh hfs
|
|
TKTARGETS = xhfs
|
|
|
|
LIBHFS = libhfs/libhfs.a
|
|
INCHFS = libhfs/hfs.h
|
|
|
|
LIBRSRC = librsrc/librsrc.a
|
|
INCRSRC = librsrc/rsrc.h
|
|
|
|
HFSUTIL = hfsutil
|
|
HFSCK = hfsck/hfsck
|
|
LINUX = linux/mkfs.hfs linux/fsck.hfs linux/kernel/hfs.o
|
|
|
|
SUBDIRS = hfsck linux test
|
|
ACSUBDIRS = @subdirs@
|
|
|
|
GENERALDOCS = hfsutils.1
|
|
CLIDOCS = hattrib.1 hcd.1 hcopy.1 hdel.1 hdir.1 hformat.1 hls.1 \
|
|
hmkdir.1 hmount.1 hpwd.1 hrename.1 hrmdir.1 humount.1 hvol.1
|
|
TCLDOCS = hfssh.1 hfs.1
|
|
TKDOCS = xhfs.1
|
|
|
|
CLIOBJS = hattrib.o hcd.o hcopy.o hdel.o hformat.o hls.o hmkdir.o \
|
|
hmount.o hpwd.o hrename.o hrmdir.o humount.o hvol.o
|
|
UTILOBJS = crc.o binhex.o copyin.o copyout.o charset.o \
|
|
darray.o dlist.o dstring.o glob.o suid.o version.o
|
|
|
|
###############################################################################
|
|
|
|
all :: @MAKE_TARGETS@
|
|
|
|
all_cli :: $(CLITARGETS)
|
|
all_tcl :: $(TCLTARGETS)
|
|
all_tk :: $(TKTARGETS)
|
|
all_lib :: $(LIBHFS) $(LIBRSRC)
|
|
|
|
check :: all
|
|
@if [ -f hfs ]; then \
|
|
cd test && $(MAKE) && \
|
|
echo "Self-tests passed."; \
|
|
else \
|
|
echo "Self-tests only available if configured --with-tcl."; \
|
|
fi
|
|
|
|
install :: @INSTALL_TARGETS@
|
|
|
|
install_cli :: all_cli
|
|
$(BININSTALL) $(HFSUTIL) "$(BINDEST)/."
|
|
|
|
for file in $(CLITARGETS); do \
|
|
$(HARDLINK) "$(BINDEST)/$(HFSUTIL)" "$(BINDEST)/$$file"; \
|
|
done
|
|
|
|
rm -f "$(BINDEST)/$(HFSUTIL)"
|
|
|
|
for file in $(GENERALDOCS) $(CLIDOCS); do \
|
|
$(LIBINSTALL) doc/man/$$file \
|
|
"$(MANDEST)/man$(MANEXT)/`basename $$file .1`.$(MANEXT)"; \
|
|
done
|
|
|
|
install_tcl :: all_tcl
|
|
for file in $(TCLTARGETS); do \
|
|
$(BININSTALL) $$file "$(BINDEST)/."; \
|
|
done
|
|
|
|
if [ -f "$(BINDEST)/hfs" ]; then \
|
|
sed -e '1d' "$(BINDEST)/hfs" > "$(BINDEST)/hfs.new"; \
|
|
$(BININSTALL) "$(BINDEST)/hfs.new" "$(BINDEST)/hfs"; \
|
|
rm -f "$(BINDEST)/hfs.new"; \
|
|
fi
|
|
|
|
for file in $(TCLDOCS); do \
|
|
$(LIBINSTALL) doc/man/$$file \
|
|
"$(MANDEST)/man$(MANEXT)/`basename $$file .1`.$(MANEXT)"; \
|
|
done
|
|
|
|
install_tk :: all_tk
|
|
for file in $(TKTARGETS); do \
|
|
$(BININSTALL) $$file "$(BINDEST)/."; \
|
|
done
|
|
|
|
for file in $(TKDOCS); do \
|
|
$(LIBINSTALL) doc/man/$$file \
|
|
"$(MANDEST)/man$(MANEXT)/`basename $$file .1`.$(MANEXT)"; \
|
|
done
|
|
|
|
install_lib :: all_lib
|
|
cd libhfs && $(MAKE) install
|
|
cd librsrc && $(MAKE) install
|
|
|
|
again :: clean all
|
|
|
|
depend ::
|
|
for dir in $(ACSUBDIRS) $(SUBDIRS); do \
|
|
(cd $$dir && $(MAKE) depend); \
|
|
done
|
|
|
|
( sed -n '1,/^### DEPEND/p' Makefile.in; \
|
|
echo; \
|
|
$(CC) -MM $(INCLUDES) $(DEFINES) *.c; \
|
|
) > Makefile.in.new
|
|
mv -f Makefile.in.new Makefile.in
|
|
|
|
clean ::
|
|
for dir in $(ACSUBDIRS) $(SUBDIRS); do \
|
|
(cd $$dir && $(MAKE) clean); \
|
|
done
|
|
|
|
rm -f $(TARGETS) *.o gmon.* core
|
|
rm -f $(HFSUTIL) xhfs.c
|
|
|
|
distclean :: clean
|
|
for dir in $(ACSUBDIRS); do \
|
|
(cd $$dir && $(MAKE) distclean); \
|
|
done
|
|
|
|
rm -f config.status config.cache config.log config.h
|
|
rm -f hfsck/Makefile linux/Makefile Makefile
|
|
|
|
maintainer-clean :: distclean
|
|
for dir in . $(ACSUBDIRS); do \
|
|
rm -f $$dir/config.h.in $$dir/configure; \
|
|
done
|
|
|
|
dist ::
|
|
for dir in . $(ACSUBDIRS); do \
|
|
(cd $$dir && $(MAKE) config.h.in configure); \
|
|
done
|
|
|
|
$(MAKE) distclean
|
|
|
|
###############################################################################
|
|
|
|
Makefile: config.status
|
|
./config.status && touch .stamp/config.h
|
|
|
|
.stamp/config.h: config.status
|
|
./config.status && touch .stamp/config.h
|
|
|
|
config.status: .stamp/configure .stamp/config.h.in Makefile.in
|
|
./config.status --recheck
|
|
|
|
.stamp/configure: configure.in
|
|
autoconf && touch .stamp/configure
|
|
|
|
.stamp/config.h.in: configure.in acconfig.h
|
|
autoheader && touch .stamp/config.h.in
|
|
|
|
###############################################################################
|
|
|
|
$(LIBHFS) ::
|
|
cd libhfs && $(MAKE)
|
|
|
|
$(LIBRSRC) ::
|
|
cd librsrc && $(MAKE)
|
|
|
|
$(HFSCK) :: $(LIBHFS)
|
|
cd hfsck && $(MAKE)
|
|
|
|
$(LINUX) :: $(LIBHFS)
|
|
cd linux && $(MAKE)
|
|
|
|
$(HFSUTIL): $(LIBHFS) hfsutil.o hcwd.o $(CLIOBJS) $(UTILOBJS) $(LIBOBJS)
|
|
$(CC) $(LDFLAGS) hfsutil.o hcwd.o \
|
|
$(CLIOBJS) $(UTILOBJS) \
|
|
-lhfs $(LIBS) $(LIBOBJS) -o $@
|
|
|
|
$(CLITARGETS): $(HFSUTIL)
|
|
-$(HARDLINK) $(HFSUTIL) $@
|
|
|
|
hfssh: $(LIBHFS) hfssh.o tclhfs.o $(UTILOBJS) $(LIBOBJS)
|
|
$(CC) $(LDFLAGS) hfssh.o tclhfs.o $(UTILOBJS) \
|
|
-lhfs $(LIBS) $(TCLLIBS) $(LIBOBJS) -o $@
|
|
|
|
hfs: hfs.tcl hfssh
|
|
( echo "#!./hfssh"; \
|
|
echo "#! /bin/sh"; \
|
|
echo "# Start hfssh ... \\"; \
|
|
echo 'exec hfssh "$$0" "$$@"'; \
|
|
echo; \
|
|
cat hfs.tcl; \
|
|
) > $@
|
|
chmod a+x $@
|
|
|
|
xhfs.c: xhfs.tcl
|
|
( echo '# include "xhfs.h"'; \
|
|
echo; \
|
|
echo "char xhfs[] ="; \
|
|
sed -e 's|^[ ]*||' -e 's|^#.*||' -e '/^$$/d' \
|
|
-e 's| *| |g' \
|
|
-e 's|[\\"]|\\&|g' -e 's|.*|"&\\n"|' xhfs.tcl; \
|
|
echo ";"; \
|
|
) > $@
|
|
|
|
xhfs: $(LIBHFS) hfswish.o xhfs.o tclhfs.o $(UTILOBJS) $(LIBOBJS)
|
|
$(CC) $(LDFLAGS) hfswish.o xhfs.o tclhfs.o $(UTILOBJS) \
|
|
-lhfs $(LIBS) $(TKLIBS) $(LIBOBJS) -o $@
|
|
|
|
### DEPENDENCIES FOLLOW #######################################################
|
|
|
|
binhex.o: binhex.c config.h binhex.h crc.h
|
|
charset.o: charset.c config.h charset.h
|
|
copyin.o: copyin.c config.h libhfs/hfs.h libhfs/data.h copyin.h \
|
|
charset.h binhex.h crc.h
|
|
copyout.o: copyout.c config.h libhfs/hfs.h libhfs/data.h copyout.h \
|
|
charset.h binhex.h crc.h
|
|
crc.o: crc.c config.h crc.h
|
|
darray.o: darray.c config.h darray.h
|
|
dlist.o: dlist.c config.h dlist.h
|
|
dstring.o: dstring.c config.h dstring.h
|
|
glob.o: glob.c config.h dlist.h dstring.h libhfs/hfs.h glob.h
|
|
hattrib.o: hattrib.c config.h libhfs/hfs.h hcwd.h hfsutil.h hattrib.h
|
|
hcd.o: hcd.c config.h libhfs/hfs.h hcwd.h hfsutil.h hcd.h
|
|
hcopy.o: hcopy.c config.h libhfs/hfs.h hcwd.h hfsutil.h hcopy.h \
|
|
copyin.h copyout.h
|
|
hcwd.o: hcwd.c config.h libhfs/hfs.h hcwd.h
|
|
hdel.o: hdel.c config.h libhfs/hfs.h hcwd.h hfsutil.h hdel.h
|
|
hformat.o: hformat.c config.h libhfs/hfs.h hcwd.h hfsutil.h suid.h \
|
|
hformat.h
|
|
hfssh.o: hfssh.c config.h tclhfs.h suid.h
|
|
hfsutil.o: hfsutil.c config.h libhfs/hfs.h hcwd.h hfsutil.h suid.h \
|
|
glob.h version.h hattrib.h hcd.h hcopy.h hdel.h hformat.h hls.h \
|
|
hmkdir.h hmount.h hpwd.h hrename.h hrmdir.h humount.h hvol.h
|
|
hfswish.o: hfswish.c config.h tclhfs.h xhfs.h suid.h images.h \
|
|
images/macdaemon.xbm images/macdaemon_mask.xbm images/stop.xbm \
|
|
images/caution.xbm images/note.xbm images/floppy.xbm \
|
|
images/harddisk.xbm images/cdrom.xbm images/floppy_mask.xbm \
|
|
images/harddisk_mask.xbm images/cdrom_mask.xbm images/sm_floppy.xbm \
|
|
images/sm_harddisk.xbm images/sm_cdrom.xbm images/folder.xbm \
|
|
images/document.xbm images/application.xbm images/folder_mask.xbm \
|
|
images/document_mask.xbm images/application_mask.xbm \
|
|
images/sm_folder.xbm images/sm_document.xbm images/sm_application.xbm \
|
|
images/help.xbm images/padlock.xbm
|
|
hls.o: hls.c config.h libhfs/hfs.h hcwd.h hfsutil.h darray.h dlist.h \
|
|
dstring.h hls.h
|
|
hmkdir.o: hmkdir.c config.h libhfs/hfs.h hcwd.h hfsutil.h hmkdir.h
|
|
hmount.o: hmount.c config.h libhfs/hfs.h hcwd.h hfsutil.h suid.h \
|
|
hmount.h
|
|
hpwd.o: hpwd.c config.h libhfs/hfs.h hcwd.h hfsutil.h hpwd.h
|
|
hrename.o: hrename.c config.h libhfs/hfs.h hcwd.h hfsutil.h hrename.h
|
|
hrmdir.o: hrmdir.c config.h libhfs/hfs.h hcwd.h hfsutil.h hrmdir.h
|
|
humount.o: humount.c config.h libhfs/hfs.h hcwd.h hfsutil.h humount.h
|
|
hvol.o: hvol.c config.h libhfs/hfs.h hcwd.h hfsutil.h hvol.h
|
|
strdup.o: strdup.c config.h
|
|
strerror.o: strerror.c config.h
|
|
strstr.o: strstr.c config.h
|
|
strtol.o: strtol.c config.h
|
|
suid.o: suid.c config.h suid.h
|
|
tclhfs.o: tclhfs.c config.h tclhfs.h libhfs/hfs.h glob.h copyin.h \
|
|
copyout.h charset.h suid.h version.h
|
|
version.o: version.c version.h
|