# To build debug version use nodebug=0
# Release version is built by default
ifndef nodebug
nodebug=1
endif

ifndef TARGET
TARGET := $(shell uname -m)
endif

# Default target
ifeq ($(TARGET),unknown)
TARGET=i386
endif

ifeq ($(TARGET),i686)
TARGET=i386
endif

#Setup directories where source files are placed
IFSLINUX  = .

ifeq ($(nodebug), 1)
#Release
 EXTRA_CFLAGS += -DNDEBUG
 UFSD_LIB  = $(IFSLINUX)/objfre/libufsd_$(TARGET).o
else
#Debug
 EXTRA_CFLAGS += -O1 -DUFSD_DEBUG
 UFSD_LIB  = $(IFSLINUX)/objchk/libufsd_$(TARGET).o
endif
#EXTRA_CFLAGS += -fstrict-aliasing -Wstrict-aliasing
EXTRA_CFLAGS += -DUFSD_DEVICE=ufsd
EXTRA_CFLAGS += -include /ufsd/mam/ifslinux/fs_conf.h
#EXTRA_CFLAGS += -DUFSD_USE_ASM_DIV64
#EXTRA_CFLAGS += -DUFSD_SMART_DIRTY_SEC=0
#EXTRA_CFLAGS += -save-temps
EXTRA_CFLAGS += -Wfatal-errors -Wno-unused-local-typedefs
EXTRA_CFLAGS += $(call cc-disable-warning,date-time)
EXTRA_CFLAGS += -Wall -Werror

IFS_O = $(IFSLINUX)/ufsdvfs.o $(IFSLINUX)/vfsdebug.o

# $(IFS_O) should be first to correct show module address
ufsd-objs := $(IFS_O)
jnl-objs  := $(IFSLINUX)/ufsdjnl.o

#obj-m     := ufsd.o
obj-m     := jnl.o ufsd.o
ufsd-y    := $(IFS_O) $(UFSD_LIB)
jnl-y     := $(IFSLINUX)/ufsdjnl.o
LDFLAGS   += -s -O2 -d -x -X
