

#CC		= cc $(DEFS)
CC		= gcc $(DEFS)
CFLAGS	= -O
#LD		= cc
LD		= gcc
AR		= ar vru
#RANLIB	= :
RANLIB	= ranlib

#DEFS	= -D_SOLARIS_ -DUFS -DMY_GETOPT
DEFS	= -D_SUNOS_ -DUFS -DMY_GETOPT

PROGRAM	= ufssh
LIB		= libufs.a
GETOPT  = getopt.o
LDFLAGS	= -L. -lufs

SRCS	= ufs_fs.c ufs_io.c ufs_db.c ufs_file.c
HDRS	= ufs_io.h sun_io.h sun_ufs.h ufs_db.h
FILES	= $(SRCS) $(HDRS) Makefile README ufssh.c ufs.c \
sunos/s_dklabel.h sunos/s_fs.h sunos/s_fsdir.h sunos/s_inode.h \
sunos/s_param.h sunos/s_types.h sunos/s_vnode.h

OBJS	= $(SRCS:.c=.o)
TAR		= ../ufslib.tgz

all: $(PROGRAM)

$(PROGRAM): ufssh.o $(LIB) $(GETOPT)
	$(LD) -o $@ ufssh.o $(GETOPT) $(LDFLAGS)

$(LIB):	$(OBJS)
	$(AR) $(LIB) $(OBJS)
	$(RANLIB) $(LIB)

clean:
	rm -f $(OBJS) core tags Makefile.bak
	rm -rf Debug Release $(LIB:.a=.lib) *.ncb
	rm -rf Debug Release release *.ncb *.obj vc[5-6]0.idb vim3d.tmp
	rm -rf *.opt *.pch *.plg *.bak *.ilk *.pdb

clobber: clean
	rm -rf *.opt *.pch *.plg
	rm -f $(LIB:.a=.lib)
	rm -f *.exe main ufs ufssh $(PROGRAM) $(LIB)
	
backup:	clobber $(TAR)

$(TAR):	$(FILES)
	rm -f $(TAR)
	gtar cvzf ../ufslib.tgz -C .. ufs

depend:
	makedepend -s "# DO NOT DELETE" -- $(CFLAGS) $(DEFS) -- $(SRCS)

tags:	$(HDRS) $(SRCS); @ctags $(HDRS) $(SRCS)

doit: ufssh
	ufssh -p a -f /var disco.dmp
#	label -p 6 /dev/rsd5c
#	label -p 6 /dev/rdsk/c0t3d0s2


# DO NOT DELETE

ufs_fs.o: /usr/include/stdio.h /usr/include/stdlib.h
ufs_fs.o: /usr/include/sys/stdtypes.h /usr/include/string.h
ufs_fs.o: /usr/include/sys/types.h /usr/include/sys/sysmacros.h
ufs_fs.o: /usr/include/sys/stat.h /usr/include/fcntl.h
ufs_fs.o: /usr/include/sys/fcntlcom.h /usr/include/unistd.h
ufs_fs.o: /usr/include/sys/param.h /usr/include/machine/param.h
ufs_fs.o: /usr/include/machine/devaddr.h /usr/include/sys/signal.h
ufs_fs.o: /usr/include/vm/faultcode.h /usr/include/sun/dklabel.h
ufs_fs.o: /usr/include/ufs/fs.h sun_ufs.h sun_io.h ufs_io.h
ufs_io.o: /usr/include/stdio.h /usr/include/stdlib.h
ufs_io.o: /usr/include/sys/stdtypes.h /usr/include/string.h
ufs_io.o: /usr/include/errno.h /usr/include/sys/errno.h
ufs_io.o: /usr/include/sys/types.h /usr/include/sys/sysmacros.h
ufs_io.o: /usr/include/sys/stat.h /usr/include/fcntl.h
ufs_io.o: /usr/include/sys/fcntlcom.h /usr/include/unistd.h
ufs_io.o: /usr/include/sys/time.h /usr/include/time.h
ufs_io.o: /usr/include/sys/param.h /usr/include/machine/param.h
ufs_io.o: /usr/include/machine/devaddr.h /usr/include/sys/signal.h
ufs_io.o: /usr/include/vm/faultcode.h /usr/include/sun/dklabel.h
ufs_io.o: /usr/include/ufs/fs.h /usr/include/sys/vnode.h
ufs_io.o: /usr/include/ufs/inode.h /usr/include/ufs/fsdir.h sun_ufs.h
ufs_io.o: sun_io.h ufs_io.h
ufs_db.o: /usr/include/stdio.h /usr/include/stdlib.h
ufs_db.o: /usr/include/sys/stdtypes.h /usr/include/string.h
ufs_db.o: /usr/include/sys/types.h /usr/include/sys/sysmacros.h
ufs_db.o: /usr/include/sys/stat.h /usr/include/fcntl.h
ufs_db.o: /usr/include/sys/fcntlcom.h /usr/include/time.h
ufs_db.o: /usr/include/sys/time.h /usr/include/sys/param.h
ufs_db.o: /usr/include/machine/param.h /usr/include/machine/devaddr.h
ufs_db.o: /usr/include/sys/signal.h /usr/include/vm/faultcode.h
ufs_db.o: /usr/include/sun/dklabel.h /usr/include/ufs/fs.h
ufs_db.o: /usr/include/sys/vnode.h /usr/include/ufs/inode.h
ufs_db.o: /usr/include/ufs/fsdir.h ufs_db.h
ufs_file.o: /usr/include/stdio.h /usr/include/stdlib.h
ufs_file.o: /usr/include/sys/stdtypes.h /usr/include/string.h
ufs_file.o: /usr/include/sys/types.h /usr/include/sys/sysmacros.h
ufs_file.o: /usr/include/sys/stat.h /usr/include/fcntl.h
ufs_file.o: /usr/include/sys/fcntlcom.h /usr/include/unistd.h
ufs_file.o: /usr/include/sys/time.h /usr/include/time.h
ufs_file.o: /usr/include/sys/param.h /usr/include/machine/param.h
ufs_file.o: /usr/include/machine/devaddr.h /usr/include/sys/signal.h
ufs_file.o: /usr/include/vm/faultcode.h /usr/include/sun/dklabel.h
ufs_file.o: /usr/include/ufs/fs.h /usr/include/sys/vnode.h
ufs_file.o: /usr/include/ufs/inode.h /usr/include/ufs/fsdir.h sun_ufs.h
ufs_file.o: sun_io.h ufs_io.h
