/[pkg-openswan]/trunk/Makefile
ViewVC logotype

Contents of /trunk/Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 230 - (show annotations) (download)
Fri Feb 5 10:57:10 2010 UTC (3 years, 3 months ago) by harald-jenny-guest
File size: 21770 byte(s)
the new upstream release (hope I finally done it right...)
1 # Openswan master makefile
2 # Copyright (C) 1998-2002 Henry Spencer.
3 # Copyright (C) 2003-2004 Xelerance Corporation
4 #
5 # This program is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU General Public License as published by the
7 # Free Software Foundation; either version 2 of the License, or (at your
8 # option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
9 #
10 # This program is distributed in the hope that it will be useful, but
11 # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 # for more details.
14 #
15
16
17 OPENSWANSRCDIR?=$(shell pwd)
18 export OPENSWANSRCDIR
19
20 TERMCAP=
21 export TERMCAP
22
23 include ${OPENSWANSRCDIR}/Makefile.inc
24
25 srcdir?=$(shell pwd)
26
27 # dummy default rule
28 def:
29 @echo "Please read the README for detailed build instructions including how"
30 @echo "to enable NAT-T support for your kernel, if desired"
31 @echo
32 @echo "Commonly used build commands:"
33 @echo
34 @echo "When using KLIPS: make KERNELSRC=/usr/src/linux-2.6.18 module minstall programs install"
35 @echo "When using NETKEY: make programs install"
36 @echo
37 @echo
38
39 include ${OPENSWANSRCDIR}/Makefile.top
40
41 # kernel details
42 # what variant of our patches should we use, and where is it
43 KERNELREL=$(shell ${KVSHORTUTIL} ${KERNELSRC}/Makefile)
44
45 # directories visited by all recursion
46
47 # declaration for make's benefit
48 .PHONY: def insert kpatch patches _patches _patches2.4 \
49 klipsdefaults programs install clean distclean \
50 ogo oldgo menugo xgo \
51 omod menumod xmod \
52 pcf ocf mcf xcf rcf nopromptgo \
53 precheck verset confcheck kernel \
54 module module24 module26 kinstall minstall minstall24 minstall26 \
55 backup unpatch uinstall install_file_list \
56 snapready relready ready buildready devready uml check taroldinstall \
57 umluserland
58
59
60 kpatch: unapplypatch applypatch klipsdefaults
61 npatch: unapplynpatch applynpatch
62 ngpatch: unapplyngpatch applyngpatch
63
64 unapplypatch:
65 -@if [ -f ${KERNELSRC}/openswan.patch ]; then \
66 echo Undoing previous patches; \
67 cat ${KERNELSRC}/openswan.patch | (cd ${KERNELSRC} && patch -p1 -R --force -E -z .preipsec --reverse --ignore-whitespace ); \
68 fi
69
70 applypatch:
71 @echo Now performing forward patches;
72 ${MAKE} kernelpatch${KERNELREL} | tee ${KERNELSRC}/openswan.patch | (cd ${KERNELSRC} && patch -p1 -b -z .preipsec --forward --ignore-whitespace )
73
74 unapplynpatch:
75 -@if [ -f ${KERNELSRC}/natt.patch ]; then \
76 echo Undoing previous NAT patches; \
77 cat ${KERNELSRC}/natt.patch | (cd ${KERNELSRC} && patch -p1 -R --force -E -z .preipsec --reverse --ignore-whitespace ); \
78 fi
79
80 applynpatch:
81 @echo Now performing forward NAT patches;
82 ${MAKE} nattpatch${KERNELREL} | tee ${KERNELSRC}/natt.patch | (cd ${KERNELSRC} && patch -p1 -b -z .preipsec --forward --ignore-whitespace )
83
84 unapplyngpatch:
85 -@if [ -f ${KERNELSRC}/klipsng.patch ]; then \
86 echo Undoing previous klipsNG patches; \
87 cat ${KERNELSRC}/klipsng.patch | (cd ${KERNELSRC} && patch -p1 -R --force -E -z .preng --reverse --ignore-whitespace ); \
88 fi
89
90 applyngpatch:
91 @echo Now performing klipsNG patches;
92 ${MAKE} ngpatch${KERNELREL} | tee ${KERNELSRC}/klipsng.patch | (cd ${KERNELSRC} && patch -p1 -b -z .preng --forward --ignore-whitespace )
93
94 # patch kernel
95 PATCHER=packaging/utils/patcher
96
97 patches:
98 @echo \"make patches\" is obsolete. See \"make kpatch\".
99 exit 1
100
101 _patches:
102 echo "===============" >>out.kpatch
103 echo "`date` `cd $(KERNELSRC) ; pwd`" >>out.kpatch
104 $(MAKE) __patches$(KERNELREL) >>out.kpatch
105
106 # Linux-2.4.0 version
107 PATCHES22=klips/patches2.2
108 __patches2.3 __patches2.4:
109 @$(PATCHER) -v -c $(KERNELSRC) Documentation/Configure.help \
110 'CONFIG_KLIPS' $(PATCHES)/Documentation/Configure.help.fs2_2.patch
111 @$(PATCHER) -v $(KERNELSRC) net/Config.in \
112 'CONFIG_KLIPS' $(PATCHES)/net/Config.in.fs2_4.patch
113 @$(PATCHER) -v $(KERNELSRC) net/Makefile \
114 'CONFIG_KLIPS' $(PATCHES)/net/Makefile.fs2_4.patch
115 @$(PATCHER) -v $(KERNELSRC) net/ipv4/af_inet.c \
116 'CONFIG_KLIPS' $(PATCHES)/net/ipv4/af_inet.c.fs2_4.patch
117 @$(PATCHER) -v $(KERNELSRC) net/ipv4/udp.c \
118 'CONFIG_KLIPS' $(PATCHES)/net/ipv4/udp.c.fs2_4.patch
119 @$(PATCHER) -v $(KERNELSRC) include/net/sock.h \
120 'CONFIG_KLIPS' $(PATCHES)/include/net/sock.h.fs2_4.patch
121 # Removed patches, will unpatch automatically.
122 @$(PATCHER) -v $(KERNELSRC) include/linux/proc_fs.h
123 @$(PATCHER) -v $(KERNELSRC) net/core/dev.c
124 @$(PATCHER) -v $(KERNELSRC) net/ipv4/protocol.c
125 @$(PATCHER) -v $(KERNELSRC) drivers/net/Space.c
126 @$(PATCHER) -v $(KERNELSRC) include/linux/netlink.h
127 @$(PATCHER) -v $(KERNELSRC) net/netlink/af_netlink.c
128 @$(PATCHER) -v $(KERNELSRC) net/netlink/netlink_dev.c
129 @$(PATCHER) -v $(KERNELSRC) drivers/isdn/isdn_net.c
130
131 klipsdefaults:
132 @KERNELDEFCONFIG=$(KERNELSRC)/arch/$(ARCH)/defconfig ; \
133 KERNELCONFIG=$(KCFILE) ; \
134 if ! egrep -q 'CONFIG_KLIPS' $$KERNELDEFCONFIG ; \
135 then \
136 set -x ; \
137 cp -a $$KERNELDEFCONFIG $$KERNELDEFCONFIG.orig ; \
138 chmod u+w $$KERNELDEFCONFIG ; \
139 cat $$KERNELDEFCONFIG $(KERNELKLIPS)/defconfig \
140 >$$KERNELDEFCONFIG.tmp ; \
141 rm -f $$KERNELDEFCONFIG ; \
142 cp -a $$KERNELDEFCONFIG.tmp $$KERNELDEFCONFIG ; \
143 rm -f $$KERNELDEFCONFIG.tmp ; \
144 fi ; \
145 if ! egrep -q 'CONFIG_KLIPS' $$KERNELCONFIG ; \
146 then \
147 set -x ; \
148 cp -a $$KERNELCONFIG $$KERNELCONFIG.orig ; \
149 chmod u+w $$KERNELCONFIG ; \
150 cat $$KERNELCONFIG $(KERNELKLIPS)/defconfig \
151 >$$KERNELCONFIG.tmp ; \
152 rm -f $$KERNELCONFIG ; \
153 cp -a $$KERNELCONFIG.tmp $$KERNELCONFIG ; \
154 rm -f $$KERNELCONFIG.tmp ; \
155 fi
156
157
158
159 # programs
160
161 ifeq ($(strip $(OBJDIR)),.)
162 programs install clean::
163 @for d in $(SUBDIRS) ; \
164 do \
165 (cd $$d && $(MAKE) srcdir=${OPENSWANSRCDIR}/$$d/ OPENSWANSRCDIR=${OPENSWANSRCDIR} $@ ) || exit 1; \
166 done;
167
168 else
169 ABSOBJDIR:=$(shell mkdir -p ${OBJDIR}; cd ${OBJDIR} && pwd)
170 OBJDIRTOP=${ABSOBJDIR}
171 export OBJDIRTOP
172
173 programs install clean:: ${OBJDIR}/Makefile
174 @echo OBJDIR: ${OBJDIR}
175 (cd ${ABSOBJDIR} && OBJDIRTOP=${ABSOBJDIR} OBJDIR=${ABSOBJDIR} ${MAKE} $@ )
176
177 ${OBJDIR}/Makefile: ${srcdir}/Makefile packaging/utils/makeshadowdir
178 @echo Setting up for OBJDIR=${OBJDIR}
179 @packaging/utils/makeshadowdir `(cd ${srcdir}; echo $$PWD)` ${OBJDIR} "${SUBDIRS}"
180
181 endif
182
183 checkprograms::
184 @for d in $(SUBDIRS) ; \
185 do \
186 (cd $$d && $(MAKE) srcdir=${OPENSWANSRCDIR}/$$d/ OPENSWANSRCDIR=${OPENSWANSRCDIR} $@ ) || exit 1; \
187 done;
188
189 checkv199install:
190 @if [ "${LIBDIR}" != "${LIBEXECDIR}" ] && [ -f ${LIBDIR}/pluto ]; \
191 then \
192 echo WARNING: Old version of FreeS/WAN Openswan 1.x installed. ;\
193 echo WARNING: moving ${LIBDIR} to ${LIBDIR}.v1 ;\
194 mv ${LIBDIR} ${LIBDIR}.v1 ;\
195 fi
196
197 install:: checkv199install
198
199 clean::
200 rm -rf $(RPMTMPDIR) $(RPMDEST)
201 rm -f out.*build out.*install # but leave out.kpatch
202
203 # proxies for major kernel make operations
204
205 # do-everything entries
206 KINSERT_PRE=precheck verset insert
207 PRE=precheck verset kpatch
208 POST=confcheck programs kernel install
209 MPOST=confcheck programs module install
210 #ogo: $(PRE) pcf $(POST)
211 #oldgo: $(PRE) ocf $(POST)
212 #nopromptgo: $(PRE) rcf $(POST)
213 #menugo: $(PRE) mcf $(POST)
214 #xgo: $(PRE) xcf $(POST)
215
216 ogo: obsolete_target
217 oldgo: obsolete_target
218 nopromptgo: obsolete_target
219 menugo: obsolete_target
220 xgo: obsolete_target
221 obsolete_target:
222 @echo "The targets ogo, oldgo, menugo, nopromptgo and xgo are obsolete. Please read INSTALL"
223
224 # preliminaries
225 precheck:
226 @if test ! -d $(KERNELSRC) -a ! -L $(KERNELSRC) ; \
227 then \
228 echo '*** cannot find directory "$(KERNELSRC)"!!' ; \
229 echo '*** may be necessary to add symlink to kernel source' ; \
230 exit 1 ; \
231 fi
232 @if ! cd $(KERNELSRC) ; \
233 then \
234 echo '*** cannot "cd $(KERNELSRC)"!!' ; \
235 echo '*** may be necessary to add symlink to kernel source' ; \
236 exit 1 ; \
237 fi
238 @if test ! -f $(KCFILE) ; \
239 then \
240 echo '*** cannot find "$(KCFILE)"!!' ; \
241 echo '*** perhaps kernel has never been configured?' ; \
242 echo '*** please do that first; the results are necessary.' ; \
243 exit 1 ; \
244 fi
245 @if test ! -f $(VERFILE) ; \
246 then \
247 echo '*** cannot find "$(VERFILE)"!!' ; \
248 echo '*** perhaps kernel has never been compiled?' ; \
249 echo '*** please do that first; the results are necessary.' ; \
250 exit 1 ; \
251 fi
252
253 Makefile: Makefile.ver
254
255 # configuring (exit statuses disregarded, something fishy here sometimes)
256 xcf:
257 -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) xconfig
258 mcf:
259 -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) menuconfig
260 pcf:
261 -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) config
262
263 ocf:
264 -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) oldconfig
265
266 rcf:
267 cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) ${NONINTCONFIG} </dev/null
268 cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) dep >/dev/null
269
270 kclean:
271 -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) clean
272
273 confcheck:
274 @if test ! -f $(KCFILE) ; \
275 then echo '*** no kernel configuration file written!!' ; exit 1 ; \
276 fi
277 @if ! egrep -q '^CONFIG_KLIPS=[my]' $(KCFILE) ; \
278 then echo '*** IPsec not in kernel config ($(KCFILE))!!' ; exit 1 ; \
279 fi
280 @if ! egrep -q 'CONFIG_KLIPS[ ]+1' $(ACFILE) && \
281 ! egrep -q 'CONFIG_KLIPS_MODULE[ ]+1' $(ACFILE) ; \
282 then echo '*** IPsec in kernel config ($(KCFILE)),' ; \
283 echo '*** but not in config header file ($(ACFILE))!!' ; \
284 exit 1 ; \
285 fi
286 @if egrep -q '^CONFIG_KLIPS=m' $(KCFILE) && \
287 ! egrep -q '^CONFIG_MODULES=y' $(KCFILE) ; \
288 then echo '*** IPsec configured as module in kernel with no module support!!' ; exit 1 ; \
289 fi
290 @if ! egrep -q 'CONFIG_KLIPS_AH[ ]+1' $(ACFILE) && \
291 ! egrep -q 'CONFIG_KLIPS_ESP[ ]+1' $(ACFILE) ; \
292 then echo '*** IPsec configuration must include AH or ESP!!' ; exit 1 ; \
293 fi
294
295 # kernel building, with error checks
296 kernel:
297 rm -f out.kbuild out.kinstall
298 # undocumented kernel folklore: clean BEFORE dep.
299 # we run make dep seperately, because there is no point in running ERRCHECK
300 # on the make dep output.
301 # see LKML thread "clean before or after dep?"
302 ( cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) $(KERNCLEAN) $(KERNDEP) )
303 ( cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) $(KERNEL) ) 2>&1 | tee out.kbuild
304 @if egrep -q '^CONFIG_MODULES=y' $(KCFILE) ; \
305 then set -x ; \
306 ( cd $(KERNELSRC) ; \
307 $(MAKE) $(KERNMAKEOPTS) modules 2>&1 ) | tee -a out.kbuild ; \
308 fi
309 ${ERRCHECK} out.kbuild
310
311 # this target takes a kernel source tree and it builds a link tree,
312 # and then does make oldconfig for each .config file that was found in configs.
313 # The location for the disk space required for the link tree is found via
314 # $RH_KERNELSRC_POOL
315 preprhkern4module:
316 if [ -z "${RH_KERNELSRC_POOL}" ]; then echo Please set RH_KERNELSRC_POOL.; exit 1; fi
317 mkdir -p ${RH_KERNELSRC_POOL}
318 KV=`${KVUTIL} $(RH_KERNELSRC)/Makefile` ; \
319 cd ${RH_KERNELSRC_POOL} && \
320 mkdir -p $$KV && cd $$KV && \
321 for config in ${RH_KERNELSRC}/configs/*; do \
322 basecfg=`basename $$config` ;\
323 mkdir -p ${RH_KERNELSRC_POOL}/$$KV/$$basecfg && \
324 cd ${RH_KERNELSRC_POOL}/$$KV/$$basecfg && \
325 lndir ${RH_KERNELSRC} . && \
326 rm -rf include/asm && \
327 (cd include/linux && sed -e '/#include "\/boot\/kernel.h"/d' <rhconfig.h >rhconfig.h-new && mv rhconfig.h-new rhconfig.h ) && \
328 rm -f include/linux/modules/*.stamp && \
329 ${MAKE} dep && \
330 ${MAKE} oldconfig; \
331 done;
332
333 # module-only building, with error checks
334 ifneq ($(strip $(MODBUILDDIR)),)
335 ${MODBUILDDIR}/Makefile : ${OPENSWANSRCDIR}/packaging/makefiles/module.make
336 mkdir -p ${MODBUILDDIR}
337 cp ${OPENSWANSRCDIR}/packaging/makefiles/module.make ${MODBUILDDIR}/Makefile
338 echo "# " >> ${MODBUILDDIR}/Makefile
339 echo "# Local Variables: " >> ${MODBUILDDIR}/Makefile
340 echo "# compile-command: \"${MAKE} OPENSWANSRCDIR=${OPENSWANSRCDIR} ARCH=${ARCH} TOPDIR=${KERNELSRC} ${MODULE_FLAGS} MODULE_DEF_INCLUDE=${MODULE_DEF_INCLUDE} MODULE_DEFCONFIG=${MODULE_DEFCONFIG} -f Makefile ipsec.o\"" >> ${MODBUILDDIR}/Makefile
341 echo "# End: " >> ${MODBUILDDIR}/Makefile
342
343 module:
344 @if [ -f ${KERNELSRC}/README.openswan-2 ] ; then \
345 echo "WARNING: Kernel source ${KERNELSRC} has already been patched with openswan-2, out of tree build might fail!"; \
346 fi;
347 @if [ -f ${KERNELSRC}/README.freeswan ] ; then \
348 echo "ERROR: Kernel source ${KERNELSRC} has already been patched with freeswan, out of tree build will fail!"; \
349 fi;
350 @if [ -f ${KERNELSRC}/Rules.make ] ; then \
351 echo "Building module for a 2.4 kernel"; ${MAKE} module24 ; \
352 else echo "Building module for a 2.6 kernel"; ${MAKE} module26; \
353 fi;
354
355 module24:
356 @if [ ! -f ${KERNELSRC}/Rules.make ] ; then \
357 echo "Warning: Building for a 2.4 kernel in what looks like a 2.6 tree"; \
358 fi ; \
359 ${MAKE} ${MODBUILDDIR}/Makefile
360 ${MAKE} -C ${MODBUILDDIR} OPENSWANSRCDIR=${OPENSWANSRCDIR} ARCH=${ARCH} V=${V} ${MODULE_FLAGS} MODULE_DEF_INCLUDE=${MODULE_DEF_INCLUDE} TOPDIR=${KERNELSRC} -f Makefile ipsec.o
361 @echo
362 @echo '========================================================='
363 @echo
364 @echo 'KLIPS module built successfully. '
365 @echo ipsec.o is in ${MODBUILDDIR}
366 @echo
367 @(cd ${MODBUILDDIR}; ls -l ipsec.o)
368 @(cd ${MODBUILDDIR}; size ipsec.o)
369 @echo
370 @echo 'use make minstall as root to install it'
371 @echo
372 @echo '========================================================='
373 @echo
374
375 modclean:
376 rm -rf ${MODBUILDDIR}
377
378 #autoodetect 2.4 and 2.6
379 module_install: minstall
380 minstall:
381 @if [ -f ${KERNELSRC}/Rules.make ] ; then \
382 ${MAKE} minstall24 ; else ${MAKE} minstall26; \
383 fi;
384
385 # module-only install, with error checks
386 minstall24:
387 ( OSMODLIB=`${MAKE} -C $(KERNELSRC) -p dummy | ( sed -n -e '/^MODLIB/p' -e '/^MODLIB/q' ; cat > /dev/null ) | sed -e 's/^MODLIB[ :=]*\([^;]*\).*/\1/'` ; \
388 if [ -z "$$OSMODLIB" ] ; then \
389 OSMODLIB=`${MAKE} -C $(KERNELSRC) -n -p modules_install | ( sed -n -e '/^MODLIB/p' -e '/^MODLIB/q' ; cat > /dev/null ) | sed -e 's/^MODLIB[ :=]*\([^;]*\).*/\1/'` ; \
390 fi ; \
391 if [ -z "$$OSMODLIB" ] ; then \
392 echo "No known place to install module. Aborting." ; \
393 exit 93 ; \
394 fi ; \
395 set -x ; \
396 mkdir -p $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
397 cp $(MODBUILDDIR)/ipsec.o $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
398 if [ -f /sbin/depmod ] ; then depmod -a ; fi; \
399 if [ -n "$(OSMOD_DESTDIR)" ] ; then \
400 mkdir -p $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
401 if [ -f $$OSMODLIB/kernel/ipsec.o -a -f $$OSMODLIB/kernel/$(OSMOD_DESTDIR)/ipsec.o ] ; then \
402 echo "WARNING: two ipsec.o modules found in $$OSMODLIB/kernel:" ; \
403 ls -l $$OSMODLIB/kernel/ipsec.o $$OSMODLIB/kernel/$(OSMOD_DESTDIR)/ipsec.o ; \
404 exit 1; \
405 fi ; \
406 fi ; \
407 set -x ) ;
408
409
410 else
411 module:
412 echo 'Building in place is no longer supported. Please set MODBUILDDIR='
413 exit 1
414
415 endif
416
417 # module-only building, with error checks
418 ifneq ($(strip $(MOD26BUILDDIR)),)
419 ${MOD26BUILDDIR}/Makefile : ${OPENSWANSRCDIR}/packaging/makefiles/module26.make
420 mkdir -p ${MOD26BUILDDIR}
421 echo ln -s -f ${OPENSWANSRCDIR}/linux/net/ipsec/des/*.S ${MOD26BUILDDIR}
422 (rm -f ${MOD26BUILDDIR}/des; mkdir -p ${MOD26BUILDDIR}/des && cd ${MOD26BUILDDIR}/des && ln -s -f ${OPENSWANSRCDIR}/linux/net/ipsec/des/* . && ln -s -f Makefile.fs2_6 Makefile)
423 (rm -f ${MOD26BUILDDIR}/aes; mkdir -p ${MOD26BUILDDIR}/aes && cd ${MOD26BUILDDIR}/aes && ln -s -f ${OPENSWANSRCDIR}/linux/net/ipsec/aes/* . && ln -s -f Makefile.fs2_6 Makefile)
424 mkdir -p ${MOD26BUILDDIR}/aes
425 cp ${OPENSWANSRCDIR}/packaging/makefiles/module26.make ${MOD26BUILDDIR}/Makefile
426 echo "# " >> ${MOD26BUILDDIR}/Makefile
427 echo "# Local Variables: " >> ${MOD26BUILDDIR}/Makefile
428 echo "# compile-command: \"${MAKE} -C ${OPENSWANSRCDIR} ARCH=${ARCH} KERNELSRC=${KERNELSRC} MOD26BUILDDIR=${MOD26BUILDDIR} module26\"" >> ${MOD26BUILDDIR}/Makefile
429 echo "# End: " >> ${MOD26BUILDDIR}/Makefile
430 ln -s -f ${OPENSWANSRCDIR}/linux/net/ipsec/match*.S ${MOD26BUILDDIR}
431
432 module26:
433 @if [ -f ${KERNELSRC}/Rules.make ] ; then \ echo "Warning: Building for a 2.6 kernel in what looks like a 2.4 tree"; \
434 fi ; \
435 ${MAKE} ${MOD26BUILDDIR}/Makefile
436 ${MAKE} -C ${KERNELSRC} ${KERNELBUILDMFLAGS} BUILDDIR=${MOD26BUILDDIR} SUBDIRS=${MOD26BUILDDIR} MODULE_DEF_INCLUDE=${MODULE_DEF_INCLUDE} MODULE_DEFCONFIG=${MODULE_DEFCONFIG} MODULE_EXTRA_INCLUDE=${MODULE_EXTRA_INCLUDE} ARCH=${ARCH} V=${V} modules
437 @echo
438 @echo '========================================================='
439 @echo
440 @echo 'KLIPS26 module built successfully. '
441 @echo ipsec.ko is in ${MOD26BUILDDIR}
442 @echo
443 @(cd ${MOD26BUILDDIR}; ls -l ipsec.ko)
444 @(cd ${MOD26BUILDDIR}; size ipsec.ko)
445 @echo
446 @echo 'use make minstall as root to install it'
447 @echo
448 @echo '========================================================='
449 @echo
450
451 mod26clean module26clean:
452 rm -rf ${MOD26BUILDDIR}
453
454 # module-only install, with error checks
455 minstall26:
456 ( OSMODLIB=`${MAKE} -C $(KERNELSRC) -p help | ( sed -n -e '/^MODLIB/p' -e '/^MODLIB/q' ; cat > /dev/null ) | sed -e 's/^MODLIB[ :=]*\([^;]*\).*/\1/'` ; \
457 if [ -z "$$OSMODLIB" ] ; then \
458 OSMODLIB=`${MAKE} -C $(KERNELSRC) -n -p modules_install | ( sed -n -e '/^MODLIB/p' -e '/^MODLIB/q' ; cat > /dev/null ) | sed -e 's/^MODLIB[ :=]*\([^;]*\).*/\1/'` ; \
459 fi ; \
460 if [ -z "$$OSMODLIB" ] ; then \
461 echo "No known place to install module. Aborting." ; \
462 exit 93 ; \
463 fi ; \
464 set -x ; \
465 mkdir -p $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
466 cp $(MOD26BUILDDIR)/ipsec.ko $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
467 if [ -f /sbin/depmod ] ; then depmod -a ; fi; \
468 if [ -n "$(OSMOD_DESTDIR)" ] ; then \
469 mkdir -p $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
470 if [ -f $$OSMODLIB/kernel/ipsec.ko -a -f $$OSMODLIB/kernel/$(OSMOD_DESTDIR)/ipsec.ko ] ; then \
471 echo "WARNING: two ipsec.ko modules found in $$OSMODLIB/kernel:" ; \
472 ls -l $$OSMODLIB/kernel/ipsec.ko $$OSMODLIB/kernel/$(OSMOD_DESTDIR)/ipsec.ko ; \
473 exit 1; \
474 fi ; \
475 fi ; \
476 set -x ) ;
477
478
479 else
480 module26:
481 echo 'Building in place is no longer supported. Please set MOD26BUILDDIR='
482 exit 1
483
484 endif
485
486 # kernel install, with error checks
487 kinstall:
488 rm -f out.kinstall
489 >out.kinstall
490 # undocumented kernel folklore: modules_install must precede install (observed on RHL8.0)
491 @if egrep -q '^CONFIG_MODULES=y' $(KCFILE) ; \
492 then set -x ; \
493 ( cd $(KERNELSRC) ; \
494 $(MAKE) $(KERNMAKEOPTS) modules_install 2>&1 ) | tee -a out.kinstall ; \
495 fi
496 ( cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) install ) 2>&1 | tee -a out.kinstall
497 ${ERRCHECK} out.kinstall
498
499 kernelpatch2.6 kernelpatch:
500 packaging/utils/kernelpatch 2.6
501
502 kernelpatch2.4:
503 packaging/utils/kernelpatch 2.4
504
505 kernelpatch2.2:
506 packaging/utils/kernelpatch 2.2
507
508 kernelpatch2.0:
509 packaging/utils/kernelpatch 2.0
510
511 nattpatch:
512 if [ -f ${KERNELSRC}/Makefile ]; then \
513 ${MAKE} nattpatch${KERNELREL}; \
514 else echo "Cannot determine Linux kernel version. Perhaps you need to set KERNELSRC? (eg: export KERNELSRC=/usr/src/linux-`uname -r`/)"; exit 1; \
515 fi;
516
517 ngpatch2.6:
518 packaging/utils/ngpatch 2.6
519
520 nattpatch2.6:
521 packaging/utils/nattpatch 2.6
522
523 nattpatch2.4:
524 packaging/utils/nattpatch 2.4
525
526 nattpatch2.2:
527 packaging/utils/nattpatch 2.2
528
529 nattupdate:
530 (cd UMLPOOL && diff -u plain26/net/ipv4/udp.c.orig plain26/net/ipv4/udp.c; exit 0) >nat-t/net/ipv4/udp.c.os2_6.patch
531
532 # take all the patches out of the kernel
533 # (Note, a couple of files are modified by non-patch means; they are
534 # included in "make backup".)
535 unpatch:
536 @echo \"make unpatch\" is obsolete. See make unapplypatch.
537 exit 1
538
539 _unpatch:
540 for f in `find $(KERNELSRC)/. -name '*.preipsec' -print` ; \
541 do \
542 echo "restoring $$f:" ; \
543 dir=`dirname $$f` ; \
544 core=`basename $$f .preipsec` ; \
545 cd $$dir ; \
546 mv -f $$core.preipsec $$core ; \
547 rm -f $$core.wipsec $$core.ipsecmd5 ; \
548 done
549
550 # at the moment there is no difference between snapshot and release build
551 snapready: buildready
552 relready: buildready
553 ready: devready
554
555 # set up for build
556 buildready:
557 rm -f dtrmakefile cvs.datemark
558 cd doc ; $(MAKE) -s
559
560 rpm:
561 @echo To build an rpm, use: rpmbuild -ba packaging/XXX/openswan.spec
562 @echo where XXX is your rpm based vendor
563 rpmbuild -bs packaging/centos5/bluerose.spec
564
565 ipkg_strip:
566 @echo "Minimizing size for ipkg binaries..."
567 @cd $(DESTDIR)$(INC_USRLOCAL)/lib/ipsec && \
568 for f in *; do (if file $$f | grep ARM > /dev/null; then ( $(STRIP) --strip-unneeded $$f); fi); done
569 @rm -r $(DESTDIR)$(INC_USRLOCAL)/man
570 @rm -f $(DESTDIR)$(INC_RCDEFAULT)/*.old
571 @rm -f $(DESTDIR)$(INC_USRLOCAL)/lib/ipsec/*.old
572 @rm -f $(DESTDIR)$(INC_USRLOCAL)/libexec/ipsec/*.old
573 @rm -f $(DESTDIR)$(INC_USRLOCAL)/sbin/*.old
574 @rm -f $(DESTDIR)$(INC_USRLOCAL)/share/doc/openswan/*
575
576
577 ipkg_module:
578 @echo "Moving ipsec.o into temporary location..."
579 KV=$(shell ${KVUTIL} ${KERNELSRC}/Makefile) && \
580 mkdir -p $(OPENSWANSRCDIR)/packaging/ipkg/kernel-module/lib/modules/$$KV/net/ipsec
581 KV=$(shell ${KVUTIL} ${KERNELSRC}/Makefile) && \
582 cp ${OPENSWANSRCDIR}/modobj*/ipsec.[k]o $(OPENSWANSRCDIR)/packaging/ipkg/kernel-module/lib/modules/$$KV/net/ipsec/
583 KV=$(shell ${KVUTIL} ${KERNELSRC}/Makefile)
584
585 ipkg_clean:
586 rm -rf $(OPENSWANSRCDIR)/packaging/ipkg/kernel-module/
587 rm -rf $(OPENSWANSRCDIR)/packaging/ipkg/ipkg/
588 rm -f $(OPENSWANSRCDIR)/packaging/ipkg/control-openswan
589 rm -f $(OPENSWANSRCDIR)/packaging/ipkg/control-openswan-module
590
591
592 ipkg: programs install ipkg_strip ipkg_module
593 @echo "Generating ipkg...";
594 DESTDIR=${DESTDIR} OPENSWANSRCDIR=${OPENSWANSRCDIR} ARCH=${ARCH} IPSECVERSION=${IPSECVERSION} ./packaging/ipkg/generate-ipkg
595
596 tarpkg:
597 @echo "Generating tar.gz package to install"
598 @rm -rf /var/tmp/openswan-${USER}
599 @make DESTDIR=/var/tmp/openswan-${USER} programs install
600 @rm /var/tmp/openswan-${USER}/etc/ipsec.conf
601 @(cd /var/tmp/openswan-${USER} && tar czf - . ) >openswan${VENDOR}-${IPSECVERSION}.tgz
602 @ls -l openswan${VENDOR}-${IPSECVERSION}.tgz
603 @rm -rf /var/tmp/openswan-${USER}
604
605
606
607 env:
608 @env | sed -e "s/'/'\\\\''/g" -e "s/\([^=]*\)=\(.*\)/\1='\2'/"
609
610

  ViewVC Help
Powered by ViewVC 1.1.5