# Makefile for irqtune

##INSTALLATION:
##  install    install prebuilt binaries in /sbin
##  custom     create custom installation -- Normally _not_ required -- Try
##             install first (EQUIVALENT: kvers sbin install)
##  uninstall  remove prebuilt binaries from /sbin
##
##INSTALLATION OVERRIDES:
##  SBIN       SBIN=/whatever specify installation directory (DEFAULT: /sbin)
##  INSTALL    INSTALL=simple simple installation (DEFAULT: simple)
##             INSTALL=sh install as shell stub
##  INSTALLER  installation program (bin/install) (DEFAULT: sbin/irqtune)
##
##REBUILDING FROM SOURCE:
##  kvers      create kernel_version
##  sbin       rebuild binaries from source (full or partial)
##
##FORCE FULL REBUILD (requires /usr/src/linux/include):
##  clean      remove .o files to force full recompile)
##  warp9      rebuild all (EQUIVALENT: clean kvers sbin install)
##

# installation control
SBIN = /sbin
INSTALL = simple
INSTALLER = sbin/irqtune

IRQTUNE_VERSION = 0.6
IRQTUNE_HOME := $(shell pwd)
SMKF = $(IRQTUNE_HOME)/src/Makefile
ODIR = $(IRQTUNE_HOME)/sbin
KVERS = kvers
CDEBUG = # -g
CFLAGS_EXTRA =
DEFS = CDEBUG='$(CDEBUG)' CFLAGS_EXTRA='$(CFLAGS_EXTRA)' \
	IRQTUNE_HOME=$(IRQTUNE_HOME) \
	IRQTUNE_VERSION=$(IRQTUNE_VERSION) \
	INSTALL=$(INSTALL) INSTALLER=$(IRQTUNE_HOME)/$(INSTALLER) \
	SBIN=$(SBIN)

zilch:
	@egrep '^##' ./Makefile | sed -e 's/^##//'

sbin $(KVERS) uninstall install proto: FRC
	(cd $(ODIR) ; $(MAKE) -f $(SMKF) $(DEFS) $@)

clean: FRC
	(cd $(ODIR) ; $(MAKE) -f $(SMKF) $(DEFS) $@)

mkdir: FRC
	mkdir -p $(ODIR)

custom: mkdir $(KVERS) sbin install ;
warp9: _warp9 clean mkdir $(KVERS) sbin install ;
_warp9: FRC ; @echo Take it easy, Jim
FRC:

# show the version
version:
	@echo $(IRQTUNE_VERSION)
