# Makefile for edefrag, the Linux file system defragmenter
#
# Copyright (C) Stephen Tweedie, 1992
# This file may be distributed under the terms of the GNU
# General Public License. 

CC = gcc

#For the brave...
#CFLAGS = -O6 -Wall -DNODEBUG
#LDFLAGS = -s

#Recommended compiler options
CFLAGS = -Wall -g
LDFLAGS = -g

PROGS = edefrag

all:	$(PROGS)

edefrag:	edefrag.o ext.o misc.o buffers.o
	gcc $(LDFLAGS) -o $@ $^

defrag:		defrag.o minix.o misc.o
	gcc $(LDFLAGS) -o $@ $^

edefrag.o:	defrag.c
	gcc $(CFLAGS) -DEXTFS -c -o $@ $<

defrag.o:	defrag.c
	gcc $(CFLAGS) -DMINIXFS i-c -o $@ $<

clean:
	rm -f $(PROGS) *.o core tmp_make

tags:
	/usr/emacs/etc/etags *.[ch] README CHANGES INSTALL
dep:
	sed '/\#\#\# Dependencies/q' < Makefile > tmp_make
# fudge for edefrag.o dependencies (made from defrag.c)
	$(CPP) -M defrag.c | sed "s/defrag.o/edefrag.o/" >> tmp_make
	for i in *.c; do $(CPP) -M $$i; done >> tmp_make
	cp tmp_make Makefile

### Dependencies:
edefrag.o : defrag.c /usr/include/stdlib.h /usr/include/features.h /usr/lib/gcc-lib/i386-linux/2.2.2d/include/stddef.h \
  /usr/include/errno.h /usr/include/traditional.h /usr/include/linux/errno.h /usr/lib/gcc-lib/i386-linux/2.2.2d/include/float.h \
  /usr/include/alloca.h /usr/include/stdio.h /usr/include/_G_config.h /usr/include/unistd.h \
  /usr/include/sys/stat.h /usr/include/sys/types.h /usr/include/linux/types.h \
  /usr/include/linux/stat.h /usr/include/sys/time.h /usr/include/linux/time.h \
  /usr/include/time.h /usr/include/sys/times.h /usr/include/linux/times.h /usr/include/sys/utsname.h \
  /usr/include/sys/param.h /usr/lib/gcc-lib/i386-linux/2.2.2d/include/limits.h \
  /usr/include/limits.h /usr/include/linux/limits.h /usr/include/linux/param.h \
  /usr/include/sys/resource.h /usr/include/linux/resource.h /usr/include/utime.h \
  /usr/include/linux/utime.h /usr/include/signal.h /usr/include/linux/signal.h \
  /usr/include/string.h /usr/include/termios.h /usr/include/linux/termios.h /usr/include/getopt.h \
  /usr/include/fcntl.h /usr/include/linux/fcntl.h defrag.h version.h 
buffers.o : buffers.c /usr/include/stdio.h /usr/include/traditional.h /usr/include/_G_config.h \
  /usr/include/unistd.h /usr/include/sys/stat.h /usr/include/sys/types.h /usr/include/linux/types.h \
  /usr/include/linux/stat.h /usr/include/sys/time.h /usr/include/linux/time.h \
  /usr/include/time.h /usr/include/features.h /usr/include/sys/times.h /usr/include/linux/times.h \
  /usr/include/sys/utsname.h /usr/include/sys/param.h /usr/lib/gcc-lib/i386-linux/2.2.2d/include/limits.h \
  /usr/include/limits.h /usr/include/linux/limits.h /usr/include/linux/param.h \
  /usr/include/sys/resource.h /usr/include/linux/resource.h /usr/include/utime.h \
  /usr/include/linux/utime.h /usr/include/signal.h /usr/include/linux/signal.h \
  defrag.h 
defrag.o : defrag.c /usr/include/stdlib.h /usr/include/features.h /usr/lib/gcc-lib/i386-linux/2.2.2d/include/stddef.h \
  /usr/include/errno.h /usr/include/traditional.h /usr/include/linux/errno.h /usr/lib/gcc-lib/i386-linux/2.2.2d/include/float.h \
  /usr/include/alloca.h /usr/include/stdio.h /usr/include/_G_config.h /usr/include/unistd.h \
  /usr/include/sys/stat.h /usr/include/sys/types.h /usr/include/linux/types.h \
  /usr/include/linux/stat.h /usr/include/sys/time.h /usr/include/linux/time.h \
  /usr/include/time.h /usr/include/sys/times.h /usr/include/linux/times.h /usr/include/sys/utsname.h \
  /usr/include/sys/param.h /usr/lib/gcc-lib/i386-linux/2.2.2d/include/limits.h \
  /usr/include/limits.h /usr/include/linux/limits.h /usr/include/linux/param.h \
  /usr/include/sys/resource.h /usr/include/linux/resource.h /usr/include/utime.h \
  /usr/include/linux/utime.h /usr/include/signal.h /usr/include/linux/signal.h \
  /usr/include/string.h /usr/include/termios.h /usr/include/linux/termios.h /usr/include/getopt.h \
  /usr/include/fcntl.h /usr/include/linux/fcntl.h defrag.h version.h 
ext.o : ext.c /usr/include/unistd.h /usr/include/sys/stat.h /usr/include/traditional.h \
  /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/linux/stat.h \
  /usr/include/sys/time.h /usr/include/linux/time.h /usr/include/time.h /usr/include/features.h \
  /usr/include/sys/times.h /usr/include/linux/times.h /usr/include/sys/utsname.h \
  /usr/include/sys/param.h /usr/lib/gcc-lib/i386-linux/2.2.2d/include/limits.h \
  /usr/include/limits.h /usr/include/linux/limits.h /usr/include/linux/param.h \
  /usr/include/sys/resource.h /usr/include/linux/resource.h /usr/include/utime.h \
  /usr/include/linux/utime.h /usr/include/signal.h /usr/include/linux/signal.h \
  /usr/include/stdio.h /usr/include/_G_config.h /usr/include/stdlib.h /usr/lib/gcc-lib/i386-linux/2.2.2d/include/stddef.h \
  /usr/include/errno.h /usr/include/linux/errno.h /usr/lib/gcc-lib/i386-linux/2.2.2d/include/float.h \
  /usr/include/alloca.h /usr/include/memory.h /usr/include/string.h ext.h /usr/include/linux/fs.h \
  /usr/include/linux/wait.h /usr/include/linux/dirent.h /usr/include/linux/vfs.h \
  /usr/include/linux/pipe_fs_i.h /usr/include/linux/minix_fs_i.h /usr/include/linux/ext_fs_i.h \
  /usr/include/linux/msdos_fs_i.h /usr/include/linux/minix_fs_sb.h /usr/include/linux/ext_fs_sb.h \
  /usr/include/linux/msdos_fs_sb.h /usr/include/linux/ext_fs.h defrag.h 
misc.o : misc.c /usr/include/stdlib.h /usr/include/features.h /usr/lib/gcc-lib/i386-linux/2.2.2d/include/stddef.h \
  /usr/include/errno.h /usr/include/traditional.h /usr/include/linux/errno.h /usr/lib/gcc-lib/i386-linux/2.2.2d/include/float.h \
  /usr/include/alloca.h /usr/include/stdio.h /usr/include/_G_config.h /usr/include/unistd.h \
  /usr/include/sys/stat.h /usr/include/sys/types.h /usr/include/linux/types.h \
  /usr/include/linux/stat.h /usr/include/sys/time.h /usr/include/linux/time.h \
  /usr/include/time.h /usr/include/sys/times.h /usr/include/linux/times.h /usr/include/sys/utsname.h \
  /usr/include/sys/param.h /usr/lib/gcc-lib/i386-linux/2.2.2d/include/limits.h \
  /usr/include/limits.h /usr/include/linux/limits.h /usr/include/linux/param.h \
  /usr/include/sys/resource.h /usr/include/linux/resource.h /usr/include/utime.h \
  /usr/include/linux/utime.h /usr/include/signal.h /usr/include/linux/signal.h \
  ext.h /usr/include/linux/fs.h /usr/include/linux/wait.h /usr/include/linux/dirent.h \
  /usr/include/linux/vfs.h /usr/include/linux/pipe_fs_i.h /usr/include/linux/minix_fs_i.h \
  /usr/include/linux/ext_fs_i.h /usr/include/linux/msdos_fs_i.h /usr/include/linux/minix_fs_sb.h \
  /usr/include/linux/ext_fs_sb.h /usr/include/linux/msdos_fs_sb.h /usr/include/linux/ext_fs.h \
  defrag.h 
