TOP	= ..
HDRS	= $(TOP)/crash.h $(TOP)/def.h
CSRCS	= inode.c clean_fs.c clean_sched.c clean_module.c bh.c operations.c\
	  file.c timer_vec.c clean_mm.c page.c block_device.c\
	  clean_sem.c clean_size.c clean_blkdev.c task_queue.c blkdev.c\
	  lvm.c clean_lvm.c table.c buffer.c ext2.c slab.c clean_slab.c\
	  clean_mmzone.c clean_usb.c usb.c clean_route.c route.c\
	  clean_neigh.c neighbour.c char_device.c vfsmount.c clean_tqueue.c\
	  clean_net.c socket.c dentry.c vm.c clean_vm.c clean_binfmts.c\
	  binfmts.c clean_swap.c swap.c clean_nfs.c nfs.c clean_nfsd.c\
	  nfsd.c clean_lockd.c lockd.c signal.c clean_tty.c tty.c user.c\
	  clean_genhd.c clean_exception.c exception.c clean_wait.c wait.c

include	$(TOP)/Rules.make

OBJS	= $(CSRCS:.c=.o)
INCLUDE	= -I$(TOP) -I$(INCDIR)
CFLAGS	= $(CDEBUG) $(INCLUDE)
TARGET	= libmcrash.a
DEPFILE	= Makefile.dep

GENHEAD	= slab.h flags_fs.h flags_mm.h flags_sched.h flags_vmalloc.h\
	  flags_mmzone.h flags_nfs_fs_i.h flags_nfs_fs_sb.h flags_nfs_mount.h\
	  flags_nfsd_export.h flags_signal.h flags_uaccess.h flags_ext2_fs_i.h

all:	$(GENHEAD) $(TARGET)

$(TARGET): $(OBJS)
	$(AR) cr $(TARGET) $(OBJS)

$(OBJS): $(HDRS)

slab.h:
	$(GETHEAD) $(KERNELDIR)/mm/slab.c > $@

flags_fs.h:
	$(BITNAME) sflags:MS_ fsflags:FS_ bh_state_bits_bitname:BH_:1 flflags:FL_ istate:I_ $(KERNELDIR)/include/linux/fs.h $@

flags_mm.h:
	$(BITNAME) pgflags:PG_:1 $(KERNELDIR)/include/linux/mm.h $@

flags_sched.h:
	$(BITNAME) tsflags:PF_ $(KERNELDIR)/include/linux/sched.h $@

flags_vmalloc.h:
	$(BITNAME) vsflags:VM_ $(KERNELDIR)/include/linux/vmalloc.h $@

flags_mmzone.h:
	$(BITNAME) $(KERNELDIR)/include/linux/mmzone.h $@

flags_nfs_fs_i.h:
	$(BITNAME) $(KERNELDIR)/include/linux/nfs_fs_i.h $@

flags_nfs_fs_sb.h:
	$(BITNAME) $(KERNELDIR)/include/linux/nfs_fs_sb.h $@

flags_nfs_mount.h:
	$(BITNAME) mflags:NFS_MOUNT_ $(KERNELDIR)/include/linux/nfs_mount.h $@

flags_nfsd_export.h:
	$(BITNAME) expflags:NFSEXP_ $(KERNELDIR)/include/linux/nfsd/export.h $@

flags_signal.h:
	$(BITNAME) saflags:SA_ $(KERNELDIR)/include/asm/signal.h $@

flags_genhd.h:
	$(BITNAME) gdflags:GENHD_FL_ $(KERNELDIR)/include/linux/genhd.h $@

flags_uaccess.h:
	$(BITNAME) $(KERNELDIR)/include/asm/uaccess.h $@

flags_ext2_fs_i.h:
	$(BITNAME) $(KERNELDIR)/include/linux/ext2_fs_i.h $@

clean:
	/bin/rm -f $(OBJS) $(TARGET) $(DEPFILE) *~ *.swp $(GENHEAD)

depend:
	makedepend -f- $(INCLUDE) $(CSRCS) > $(DEPFILE)

ifeq ($(wildcard $(DEPFILE)),$(DEPFILE))
include $(DEPFILE)
endif
