#
# Makefile for the Linux cipe driver.
#
# Note! Dependencies are done automagically by 'make dep', which also
# removes any old dependencies. DON'T put your own dependencies here
# unless it's something special (ie not a .c file).
#
# Note 2! The CFLAGS definition is now in the main makefile...

O_TARGET  =
O_OBJS	 := module.o device.o sock.o output.o encaps.o
M_OBJS    = $(O_TARGET)

VERSION  := 1.2.0
CFG      := -DProtocolVersion=$(CONFIG_CIPE_VERSION) -DVERSION=\"$(VERSION)\"
DEFS     := -DDEBUG -DLOGFAC=LOG_DAEMON # -DNO_DYNDEV

ifeq ($(CONFIG_CIPE_IDEA),y)
CFG += -DCrypto_IDEA
CRYPTO=IDEA
else
ifeq ($(CONFIG_CIPE_BLOWFISH),y)
CFG += -DCrypto_Blowfish
CRYPTO=Blowfish
endif
endif

ifeq ($(CONFIG_CIPE_VERSION),1)
VERSC=a
O_OBJS += crc.o
endif
ifeq ($(CONFIG_CIPE_VERSION),2)
VERSC=b
O_OBJS += crc.o
endif
ifeq ($(CONFIG_CIPE_VERSION),3)
VERSC=c
O_OBJS += crc32.o
endif

ifeq ($(ARCH),i386)
ifeq ($(CONFIG_CIPE_IDEA),y)
CFG += -DASM_Idea_Crypt
O_OBJS += idea-i386.o idea0.o
O_TARGET = cip$(VERSC)i.o
endif
ifeq ($(CONFIG_CIPE_BLOWFISH),y)
CFG += -DASM_BF_Crypt
O_OBJS += bf-i386.o
O_TARGET = cip$(VERSC)b.o
endif
else
ifeq ($(CONFIG_CIPE_IDEA),y)
O_OBJS += idea0.o 
O_TARGET = cip$(VERSC)i.o
endif
endif

EXTRA_CFLAGS = $(CFG) $(DEFS)
EXTRA_ASFLAGS = $(CFG) $(DEFS)

version.h: Makefile crcgen
	./crcgen "$(VERSION)$(CRYPTO)$(CONFIG_CIPE_VERSION)$(DEFS)" >$@

crcgen: crc32.o crcgen.o
	$(CC) $(LDFLAGS) -o crcgen crc32.o crcgen.o

device.o: version.h

%.o: %.S
	$(CC) $(ASFLAGS) $(EXTRA_ASFLAGS) -c -o $@ $<

include $(TOPDIR)/Rules.make
