# ------------------------------------------------------------------------------
# Makefile -- 2.6 kernel module make file
# ------------------------------------------------------------------------------

MODULE_NAME := filepath

ifndef RELNUM
   $(error RELNUM is required. Example: make RELNUM=7.1.1.0)
endif

ifneq ($(KERNELRELEASE),)

EXTRA_CFLAGS += $(FP_CFLAGS)
obj-m	:= $(MODULE_NAME).o
$(MODULE_NAME)-objs := \
	audit.o     \
	error.o     \
	hook.o      \
	hash.o      \
	ir.o        \
	jbb.o       \
	log.o       \
	mem.o       \
	pf.o        \
	str.o       \
	str_supp.o  \
	trace.o     \
	watch.o     \
	xml.o

else

PWD         := $(shell pwd)
KDIR        := /lib/modules/$(shell uname -r)/build
ARCH        := _$(shell uname -m)
MOUNTH      := $(KDIR)/fs/mount.h
FP_CFLAGS   := -g -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -D_KERNEL -D__SMP__ -D_REENTRANT -D$(ARCH)
REDHAT_FILE := /etc/redhat-release

ifneq ($(SUSE),)
FP_CFLAGS   := -g -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -D_KERNEL -D__SMP__ -D_REENTRANT -D$(ARCH) -DSUSE
endif 
ifeq (,$(wildcard $(MOUNTH)))
   ifneq (,$(wildcard $(REDHAT_FILE)))
      #RH_VERSION_NUM := $(shell rpm -q --qf '%{VERSION}\n' -f /etc/redhat-release)
      RH_VERSION_NUM := $(shell grep -oE '[0-9]+\.[0-9]+' /etc/redhat-release)
      $(info $$RH_VERSION_NUM is [${RH_VERSION_NUM}])
      RH_VERSION = $(subst .,_,$(RH_VERSION_NUM))
      FP_CFLAGS += -D_RH_VERSION_$(RH_VERSION)
   endif
else
   FP_CFLAGS += -D_MOUNT_H_FOUND
endif
export FP_CFLAGS

all: module rpm

deb: module debpackage

module:
	@ echo "Make Module:$(MODULE_NAME) Version:$(RELNUM) Flags:$(FP_CFLAGS)"
	$(shell echo "#define JBB_VERSION \"$(RELNUM)\"" > jbb_version.h)
	$(MAKE) -C $(KDIR) M=$(PWD) modules

clean:
	$(MAKE) -C$(KDIR) M=$(PWD) clean
	rm -rf jbb_version.h *.ko *.o Modules.* modules.* *~ .*.cmd .tmp_versions *.rpm *.deb

rpm: $(MODULE_NAME).ko
	@sudo sh makerpm.sh $(RELNUM)

debpackage: $(MODULE_NAME).ko
	sh makedeb.sh $(RELNUM)

endif

