summaryrefslogtreecommitdiff
path: root/crypto/ocf/Makefile
blob: c44f74f122053400107e2bea8b32ca28b31ef37a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# 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

$(_obj)-$(CONFIG_OCF_SAFE)    += safe$(_slash)
$(_obj)-$(CONFIG_OCF_HIFN)    += hifn$(_slash)
$(_obj)-$(CONFIG_OCF_IXP4XX)  += ixp4xx$(_slash)
$(_obj)-$(CONFIG_OCF_TALITOS) += talitos$(_slash)
$(_obj)-$(CONFIG_OCF_PASEMI)  += pasemi$(_slash)
# $(_obj)-$(CONFIG_OCF_EP80579) += ep80579$(_slash)
$(_obj)-$(CONFIG_OCF_OCFNULL) += ocfnull$(_slash)

ocf-objs := $(OCF_OBJS)

$(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

ifdef TOPDIR
-include $(TOPDIR)/Rules.make
endif

#
# release gen targets
#

.PHONY: patch
patch:
	REL=`date +%Y%m%d`; \
		patch=ocf-linux-$$REL.patch; \
		patch24=ocf-linux-24-$$REL.patch; \
		patch26=ocf-linux-26-$$REL.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 patches/linux-2.4.35-ocf.patch $$patch > $$patch24; \
		cat patches/linux-2.6.26-ocf.patch $$patch > $$patch26

.PHONY: tarball
tarball:
	REL=`date +%Y%m%d`; RELDIR=/tmp/ocf-linux-$$REL; \
		CURDIR=`pwd`; \
		rm -rf /tmp/ocf-linux-$$REL*; \
		mkdir -p $$RELDIR/tools; \
		cp README* $$RELDIR; \
		cp patches/openss*.patch $$RELDIR; \
		cp patches/crypto-tools.patch $$RELDIR; \
		cp tools/[!C]* $$RELDIR/tools; \
		cd ..; \
		tar cvf $$RELDIR/ocf-linux.tar \
					--exclude=CVS \
					--exclude=.* \
					--exclude=*.o \
					--exclude=*.ko \
					--exclude=*.mod.* \
					--exclude=README* \
					--exclude=ocf-*.patch \
					--exclude=ocf/patches/openss*.patch \
					--exclude=ocf/patches/crypto-tools.patch \
					--exclude=ocf/tools \
					ocf; \
		gzip -9 $$RELDIR/ocf-linux.tar; \
		cd /tmp; \
		tar cvf ocf-linux-$$REL.tar ocf-linux-$$REL; \
		gzip -9 ocf-linux-$$REL.tar; \
		cd $$CURDIR/../../user; \
		rm -rf /tmp/crypto-tools-$$REL*; \
		tar cvf /tmp/crypto-tools-$$REL.tar \
					--exclude=CVS \
					--exclude=.* \
					--exclude=*.o \
					--exclude=cryptotest \
					--exclude=cryptokeytest \
					crypto-tools; \
		gzip -9 /tmp/crypto-tools-$$REL.tar