##############################################################################
##############################################################################
##
## FILE: Makefile
##
## SCCS ID: @(#) Makefile 1.7
##
## DESCRIPTION: This file contains the source dependencies and build rules for
##              the kernel lists loadable module.
##
##
## REVISION HISTORY:
##
## DATE		AUTHOR		DESCRIPTION
## ==========	===============	=============================================
## 02/27/1998	ARTHUR N.	Initial checkin.
## 03/08/1998	ARTHUR N.	Continue even if genksyms complains.
## 03/08/1998	ARTHUR N.	Turn off warnings from genksyms.
## 03/08/1998	ARTHUR N.	Added clean and fresh rules.
## 03/11/1998	ARTHUR N.	Added the installation directory macros.
## 03/11/1998	ARTHUR N.	Make the installation directories.
##
##############################################################################
##############################################################################

INC=../include

# Installation directories

OS_REV=`uname -r`
MOD_INST_DIR=$(prefix)/lib/modules/$(OS_REV)
MISC_MOD_INST_DIR=$(MOD_INST_DIR)/misc

# Variables

MODULE_FLAGS=-DMODULE=1 -DMODVERSIONS -DEXPORT_SYMTAB
CFLAGS=-O2 $(MODULE_FLAGS) -D__KERNEL__ $(COPTS) -I$(INC)

VER_FILE=$(INC)/klists.ver



##
## STANDARD RULES
##

.PHONY: all install clean fresh modules_install

all: klists.o

install: modules_install

clean:
	@/bin/rm -f $(VER_FILE) *.o *.ver

fresh: clean all



##
## OBJECT RULES
##

klists.o: kernel_lists.o $(VER_FILE)
	$(LD) $(LDFLAGS) -o klists.o -r kernel_lists.o

kernel_lists.o: kernel_lists.c $(INC)/kernel_lists.h $(VER_FILE)
	$(CC) -c $(CFLAGS) kernel_lists.c

$(VER_FILE): kernel_lists.c
	@echo "Compiling $@"
	@-$(CC) $(CFLAGS) -D__GENKSYMS__ -E kernel_lists.c | /sbin/genksyms .
	@/bin/mv kernel_lists.ver $(VER_FILE)



##
## INSTALLATION RULES:
##

modules_install:
	@/bin/mkdir -p $(MISC_MOD_INST_DIR)
	@/bin/cp klists.o $(MISC_MOD_INST_DIR)/klists.o
