|
@@ -27,53 +27,44 @@ RPM := $(shell if [ -x "/usr/bin/rpmbuild" ]; then echo rpmbuild; \
|
|
|
|
|
|
# Remove hyphens since they have special meaning in RPM filenames
|
|
|
KERNELPATH := kernel-$(subst -,_,$(KERNELRELEASE))
|
|
|
+# Include only those top-level files that are needed by make, plus the GPL copy
|
|
|
+TAR_CONTENT := $(KBUILD_ALLDIRS) kernel.spec .config .scmversion Makefile \
|
|
|
+ Kbuild Kconfig COPYING $(wildcard localversion*)
|
|
|
+TAR_CONTENT := $(addprefix $(KERNELPATH)/,$(TAR_CONTENT))
|
|
|
MKSPEC := $(srctree)/scripts/package/mkspec
|
|
|
-PREV := set -e; cd -P ..;
|
|
|
|
|
|
# rpm-pkg
|
|
|
# ---------------------------------------------------------------------------
|
|
|
-$(objtree)/kernel.spec: $(MKSPEC) $(srctree)/Makefile
|
|
|
- $(CONFIG_SHELL) $(MKSPEC) > $@
|
|
|
-
|
|
|
-rpm-pkg rpm: $(objtree)/kernel.spec FORCE
|
|
|
- @if test -n "$(KBUILD_OUTPUT)"; then \
|
|
|
+rpm-pkg rpm: FORCE
|
|
|
+ @if test "$(objtree)" != "$(srctree)"; then \
|
|
|
echo "Building source + binary RPM is not possible outside the"; \
|
|
|
echo "kernel source tree. Don't set KBUILD_OUTPUT, or use the"; \
|
|
|
echo "binrpm-pkg target instead."; \
|
|
|
false; \
|
|
|
fi
|
|
|
$(MAKE) clean
|
|
|
- $(PREV) ln -sf $(srctree) $(KERNELPATH)
|
|
|
+ ln -sf $(srctree) $(KERNELPATH)
|
|
|
+ $(CONFIG_SHELL) $(MKSPEC) >$(objtree)/kernel.spec
|
|
|
$(CONFIG_SHELL) $(srctree)/scripts/setlocalversion --save-scmversion
|
|
|
- $(PREV) tar -cz $(RCS_TAR_IGNORE) -f $(KERNELPATH).tar.gz $(KERNELPATH)/.
|
|
|
- $(PREV) rm $(KERNELPATH)
|
|
|
+ tar -cz $(RCS_TAR_IGNORE) -f $(KERNELPATH).tar.gz $(TAR_CONTENT)
|
|
|
+ rm $(KERNELPATH)
|
|
|
rm -f $(objtree)/.scmversion
|
|
|
- set -e; \
|
|
|
$(CONFIG_SHELL) $(srctree)/scripts/mkversion > $(objtree)/.tmp_version
|
|
|
- set -e; \
|
|
|
mv -f $(objtree)/.tmp_version $(objtree)/.version
|
|
|
-
|
|
|
- $(RPM) $(RPMOPTS) --target $(UTS_MACHINE) -ta ../$(KERNELPATH).tar.gz
|
|
|
- rm ../$(KERNELPATH).tar.gz
|
|
|
-
|
|
|
-clean-files := $(objtree)/kernel.spec
|
|
|
+ $(RPM) $(RPMOPTS) --target $(UTS_MACHINE) -ta $(KERNELPATH).tar.gz
|
|
|
+ rm $(KERNELPATH).tar.gz kernel.spec
|
|
|
|
|
|
# binrpm-pkg
|
|
|
# ---------------------------------------------------------------------------
|
|
|
-$(objtree)/binkernel.spec: $(MKSPEC) $(srctree)/Makefile
|
|
|
- $(CONFIG_SHELL) $(MKSPEC) prebuilt > $@
|
|
|
-
|
|
|
-binrpm-pkg: $(objtree)/binkernel.spec FORCE
|
|
|
+binrpm-pkg: FORCE
|
|
|
$(MAKE) KBUILD_SRC=
|
|
|
- set -e; \
|
|
|
+ $(CONFIG_SHELL) $(MKSPEC) prebuilt > $(objtree)/binkernel.spec
|
|
|
$(CONFIG_SHELL) $(srctree)/scripts/mkversion > $(objtree)/.tmp_version
|
|
|
- set -e; \
|
|
|
mv -f $(objtree)/.tmp_version $(objtree)/.version
|
|
|
|
|
|
$(RPM) $(RPMOPTS) --define "_builddir $(objtree)" --target \
|
|
|
$(UTS_MACHINE) -bb $<
|
|
|
-
|
|
|
-clean-files += $(objtree)/binkernel.spec
|
|
|
+ rm binkernel.spec
|
|
|
|
|
|
# Deb target
|
|
|
# ---------------------------------------------------------------------------
|