| # for SGlinux builds |
| -include $(ROOTDIR)/modules/.config |
| |
| OCF_OBJS = crypto.o criov.o |
| |
| ifdef CONFIG_OCF_RANDOMHARVEST |
| OCF_OBJS += random.o |
| endif |
| |
| ifdef CONFIG_OCF_FIPS |
| OCF_OBJS += rndtest.o |
| endif |
| |
| # Add in autoconf.h to get #defines for CONFIG_xxx |
| AUTOCONF_H=$(ROOTDIR)/modules/autoconf.h |
| ifeq ($(AUTOCONF_H), $(wildcard $(AUTOCONF_H))) |
| EXTRA_CFLAGS += -include $(AUTOCONF_H) |
| export EXTRA_CFLAGS |
| endif |
| |
| ifndef obj |
| obj ?= . |
| _obj = subdir |
| mod-subdirs := safe hifn ixp4xx talitos ocfnull |
| export-objs += crypto.o criov.o random.o |
| list-multi += ocf.o |
| _slash := |
| else |
| _obj = obj |
| _slash := / |
| endif |
| |
| EXTRA_CFLAGS += -I$(obj)/. |
| |
| obj-$(CONFIG_OCF_OCF) += ocf.o |
| obj-$(CONFIG_OCF_CRYPTODEV) += cryptodev.o |
| obj-$(CONFIG_OCF_CRYPTOSOFT) += cryptosoft.o |
| obj-$(CONFIG_OCF_BENCH) += ocf-bench.o |
| |
| |
| ocf-objs := $(OCF_OBJS) |
| |
| dummy: |
| @echo "Please consult the README for how to build OCF." |
| @echo "If you can't wait then the following should do it:" |
| @echo "" |
| @echo " make ocf_modules" |
| @echo " sudo make ocf_install" |
| @echo "" |
| @exit 1 |
| |
| $(list-multi) dummy1: $(ocf-objs) |
| $(LD) -r -o $@ $(ocf-objs) |
| |
| .PHONY: |
| clean: |
| rm -f *.o *.ko .*.o.flags .*.ko.cmd .*.o.cmd .*.mod.o.cmd *.mod.c |
| rm -f */*.o */*.ko */.*.o.cmd */.*.ko.cmd */.*.mod.o.cmd */*.mod.c */.*.o.flags |
| rm -f */modules.order */modules.builtin modules.order modules.builtin |
| |
| ifdef TOPDIR |
| -include $(TOPDIR)/Rules.make |
| endif |
| |
| # |
| # targets to build easily on the current machine |
| # |
| |
| ocf_make: |
| make -C /lib/modules/$(shell uname -r)/build M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m |
| make -C /lib/modules/$(shell uname -r)/build M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m CONFIG_OCF_CRYPTOSOFT=m |
| -make -C /lib/modules/$(shell uname -r)/build M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m CONFIG_OCF_BENCH=m |
| -make -C /lib/modules/$(shell uname -r)/build M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m CONFIG_OCF_OCFNULL=m |
| -make -C /lib/modules/$(shell uname -r)/build M=`pwd` $(OCF_TARGET) CONFIG_OCF_OCF=m CONFIG_OCF_HIFN=m |
| |
| ocf_modules: |
| $(MAKE) ocf_make OCF_TARGET=modules |
| |
| ocf_install: |
| $(MAKE) ocf_make OCF_TARGET="modules modules_install" |
| depmod |
| mkdir -p /usr/include/crypto |
| cp cryptodev.h /usr/include/crypto/. |
| |
| # |
| # generate full kernel patches for 2.4 and 2.6 kernels to make patching |
| # your kernel easier |
| # |
| |
| .PHONY: patch |
| patch: |
| patchbase=.; \ |
| [ -d $$patchbase/patches ] || patchbase=..; \ |
| patch=ocf-linux-base.patch; \ |
| patch24=ocf-linux-24.patch; \ |
| patch26=ocf-linux-26.patch; \ |
| patch3=ocf-linux-3.patch; \ |
| ( \ |
| find . -name Makefile; \ |
| find . -name Config.in; \ |
| find . -name Kconfig; \ |
| find . -name README; \ |
| find . -name '*.[ch]' | grep -v '.mod.c'; \ |
| ) | while read t; do \ |
| diff -Nau /dev/null $$t | sed 's?^+++ \./?+++ linux/crypto/ocf/?'; \ |
| done > $$patch; \ |
| cat $$patchbase/patches/linux-2.4.35-ocf.patch $$patch > $$patch24; \ |
| cat $$patchbase/patches/linux-2.6.38-ocf.patch $$patch > $$patch26; \ |
| cat $$patchbase/patches/linux-3.2.1-ocf.patch $$patch > $$patch3; \ |
| |
| |
| # |
| # this target probably does nothing for anyone but me - davidm |
| # |
| |
| .PHONY: release |
| release: |
| REL=`date +%Y%m%d`; RELDIR=/tmp/ocf-linux-$$REL; \ |
| CURDIR=`pwd`; \ |
| rm -rf /tmp/ocf-linux-$$REL*; \ |
| mkdir -p $$RELDIR/ocf; \ |
| mkdir -p $$RELDIR/patches; \ |
| mkdir -p $$RELDIR/crypto-tools; \ |
| cp README* $$RELDIR/.; \ |
| cp patches/[!C]* $$RELDIR/patches/.; \ |
| cp tools/[!C]* $$RELDIR/crypto-tools/.; \ |
| cp -r [!C]* Config.in $$RELDIR/ocf/.; \ |
| rm -rf $$RELDIR/ocf/patches $$RELDIR/ocf/tools; \ |
| rm -f $$RELDIR/ocf/README*; \ |
| cp $$CURDIR/../../user/crypto-tools/[!C]* $$RELDIR/crypto-tools/.; \ |
| make -C $$RELDIR/crypto-tools clean; \ |
| make -C $$RELDIR/ocf clean; \ |
| find $$RELDIR/ocf -name CVS | xargs rm -rf; \ |
| cd $$RELDIR/..; \ |
| tar cvf ocf-linux-$$REL.tar ocf-linux-$$REL; \ |
| gzip -9 ocf-linux-$$REL.tar |
| |