# load platform dependent settings (compiler, flags, libs...)
ARCH = $(shell uname -s)
ifeq ($(ARCH), HP-UX)
ARCH=HPUX
endif
include $(ARCH).def

#MAIN = $(shell uname -r | cut -b 1-4)

# load project include and library settings
include Makefile.inc

INC = $(PROJECT_INC) $(ARCH_INC) -I/usr/src/linux/include/
CPPFLAGS = $(DEF) $(OPT) $(INC) $(DEBUG) $(WARN)
CFLAGS = $(DEF) $(OPT) $(INC) $(DEBUG) $(WARN)

LDFLAGS = $(PROJECT_LIB) $(ARCH_LDFLAGS)
LDLIBS =  -lsisci $(ARCH_LIB)

# extract version number from header version.h
VER = $(shell awk -F\" '/REL/ {print $$2}' /usr/src/linux/include/linux/version.h)
MAIN = $(shell awk -F\" '/REL/ {print $$2}' /usr/src/linux/include/linux/version.h | cut -b 1-4)
  
OBJDIR = .
SRCDIR = .
LIBDIR = .

# extend this for other object files
OBJS = $(patsubst %.cc, $(OBJDIR)/%.o, $(filter %.cc, $(CPP_source)))
OBJS += $(patsubst %.cpp, $(OBJDIR)/%.o, $(filter %.cpp, $(CPP_source)))
OBJS += $(patsubst %.C, $(OBJDIR)/%.o, $(filter %.C, $(CPP_source)))
OBJS += $(patsubst %.c, $(OBJDIR)/%.o, $(filter %.c, $(C_source)))

.SUFFIXES: .cc .cpp .C .c .l _m.cc
# implicit rules for *.o files
$(OBJDIR)/%.o : $(SRCDIR)/%.cc
	$(CXX) -c $(CPPFLAGS) -o $@ $<
$(OBJDIR)/%.o : $(SRCDIR)/%.cpp
	$(CXX) -c $(CPPFLAGS) -o $@ $<
$(OBJDIR)/%.o : $(SRCDIR)/%.C
	$(CXX) -c $(CPPFLAGS) -o $@ $<


# other implicit rules
$(OBJDIR)/%.o : $(SRCDIR)/%.c
	$(CC) -c $(CFLAGS) -o $@ $<


default: all

all: 	
	cp ./$(MAIN)x/jidap.o ./jidap.o
	make jida.o 

JidaMod.o: JidaMod.c
	$(CC) -c $(CFLAGS) -o JidaMod.o JidaMod.c

linuxif.o: linuxif.c
	$(CC) -c $(CFLAGS) -o linuxif.o linuxif.c

JDrvOsLi.o: JDrvOsLi.c
	$(CC) -c $(CFLAGS) -o JDrvOsLi.o JDrvOsLi.c

jida.o: jidap.o JidaMod.o linuxif.o JDrvOsLi.o
	$(LD) -o jida.o -r JidaMod.o linuxif.o JDrvOsLi.o jidap.o

clean:
	rm -rf *.o core *~

install:
	mkdir /lib/modules/$(VER)/misc -p
	install -m 644 -o root -g root jida.o /lib/modules/$(VER)/misc
	


