home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / debian / ruleset / misc / config.mk < prev    next >
Encoding:
Text File  |  2006-01-03  |  10.7 KB  |  362 lines

  1. ######################### -*- Mode: Makefile-Gmake -*- ########################
  2. ## config.mk --- 
  3. ## Author           : Manoj Srivastava ( srivasta@glaurung.internal.golden-gryphon.com ) 
  4. ## Created On       : Mon Oct 31 17:30:53 2005
  5. ## Created On Node  : glaurung.internal.golden-gryphon.com
  6. ## Last Modified By : Manoj Srivastava
  7. ## Last Modified On : Tue Jan  3 19:37:01 2006
  8. ## Last Machine Used: glaurung.internal.golden-gryphon.com
  9. ## Update Count     : 1
  10. ## Status           : Unknown, Use with caution!
  11. ## HISTORY          : 
  12. ## Description      : Various internal variable set based on defaults and the
  13. ##                    user configuration files, or from environment vars.
  14. ## 
  15. ## arch-tag: 5fac76ea-f1e8-49fe-bd82-12ae6be8d701
  16. ## 
  17. ## 
  18. ## This program is free software; you can redistribute it and/or modify
  19. ## it under the terms of the GNU General Public License as published by
  20. ## the Free Software Foundation; either version 2 of the License, or
  21. ## (at your option) any later version.
  22. ##
  23. ## This program is distributed in the hope that it will be useful,
  24. ## but WITHOUT ANY WARRANTY; without even the implied warranty of
  25. ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  26. ## GNU General Public License for more details.
  27. ##
  28. ## You should have received a copy of the GNU General Public License
  29. ## along with this program; if not, write to the Free Software
  30. ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  31. ##
  32. ###############################################################################
  33.  
  34.  
  35. # The Debian revision
  36. # If there is a changelog file, it overrides. The only exception is
  37. # when there is no stamp-config, and there is no debian/official,
  38. # *AND* there is a DEBIAN_REVISION, in which case the DEBIAN_REVISION
  39. # over rides (since we are going to replace the changelog file soon
  40. # anyway.  Else, use the commandline or env var setting. Or else
  41. # default to 10.00.Custom, unless the human has requested that the
  42. # revision is mandatory, in which case we raise an error
  43.  
  44. ifeq ($(strip $(HAS_CHANGELOG)),YES)
  45.   debian := $(shell if test -f debian/changelog; then \
  46.                      perl -nle 'print /\((\S+)\)/; exit 0' debian/changelog;\
  47.                   fi; )
  48. else
  49.   ifneq ($(strip $(DEBIAN_REVISION)),)
  50.     debian := $(DEBIAN_REVISION)
  51.   else
  52.     ifeq ($(strip $(debian)),)
  53.       ifneq ($(strip $(debian_revision_mandatory)),)
  54.         $(error A Debian revision is mandatory, but none was provided)
  55.       else
  56.         debian = $(version)-10.00.Custom
  57.       endif
  58.     endif
  59.   endif
  60. endif
  61.  
  62.  
  63.  
  64. # See if the version numbers are valid
  65. $(eval $(which_debdir))
  66. HAVE_VALID_PACKAGE_VERSION := $(shell                           \
  67.       if test -x $(DEBDIR)/scripts/kpkg-vercheck; then          \
  68.         if test -n "$(debian)"; then                            \
  69.        $(DEBDIR)/scripts/kpkg-vercheck $(debian) ;          \
  70.         else                                                    \
  71.            echo "YES";                                          \
  72.         fi                                                      \
  73.       else                                                      \
  74.         echo "Could not find $(DEBDIR)/scripts/kpkg-vercheck" ; \
  75.       fi )
  76.  
  77. TAR_COMPRESSION := $(shell                                             \
  78.       if tar --help | grep -- \-\-bzip2 >/dev/null; then echo --bzip2; \
  79.       else                                               echo --gzip;  \
  80.       fi )
  81. TAR_SUFFIX := $(shell                                                  \
  82.       if tar --help | grep -- \-\-bzip2 >/dev/null; then echo bz2;     \
  83.       else                                               echo gz;      \
  84.       fi )
  85.  
  86. STOP_FOR_BIN86 = NO
  87. CONTROL=$(LIBLOC)/Control
  88.  
  89. ifeq ($(strip $(architecture)),i386)
  90. NEED_BIN86 := $(shell if dpkg --compare-versions                   \
  91.                   $(VERSION).$(PATCHLEVEL) lt 2.4 >/dev/null 2>&1; \
  92.                   then echo YES; fi)
  93. ifeq ($(strip $(NEED_BIN86)),YES)
  94. CONTROL=$(LIBLOC)/Control.bin86
  95. HAVE_BIN86 := $(shell if test -x /usr/bin/as86; then echo YES; else echo NO; fi )
  96. ifeq ($(strip $(HAVE_BIN86)),NO)
  97. STOP_FOR_BIN86 = YES
  98. endif
  99. endif
  100. endif
  101.  
  102.  
  103. # Over ride the config file from the environment/command line
  104. ifneq ($(strip $(KPKG_MAINTAINER)),)
  105. maintainer=$(KPKG_MAINTAINER)
  106. endif
  107.  
  108. ifneq ($(strip $(KPKG_EMAIL)),)
  109. email=$(KPKG_EMAIL)
  110. endif
  111.  
  112. # This should be a  name to feed the modules build for pgp signature,
  113. # since we the maintainer would be different there.
  114. ifneq ($(strip $(PGP_SIGNATURE)),)
  115. pgp=$(PGP_SIGNATURE)
  116. endif
  117.  
  118. ifneq ($(strip $(EXTRA_DOCS)),)
  119. extra_docs = $(EXTRA_DOCS)
  120. endif
  121.  
  122. ifneq ($(strip $(extra_docs)),)
  123. HAVE_EXTRA_DOCS:=$(shell if [ -e $(extra_docs) ]; then echo YES; fi)
  124. endif
  125.  
  126. ifneq ($(strip $(DEBIAN_REVISION_MANDATORY)),)
  127. debian_revision_mandatory:=$(DEBIAN_REVISION_MANDATORY)
  128. endif
  129.  
  130.  
  131. ifneq ($(strip $(install_vmlinux)),)
  132. int_install_vmlinux:=$(install_vmlinux)
  133. endif
  134.  
  135. ifneq ($(strip $(KPKG_FOLLOW_SYMLINKS_IN_SRC)),)
  136. int_follow_symlinks_in_src=YES
  137. else
  138. ifneq ($(strip $(kpkg_follow_symlinks_in_src)),)
  139. int_follow_symlinks_in_src=YES
  140. endif
  141. endif
  142.  
  143.  
  144.  
  145.  
  146.  
  147. ifneq ($(strip $(DEBIAN_REVISION)),)
  148.   HAS_CHANGELOG := $(shell \
  149.     if test -f debian/changelog && ( test -f stamp-debian || test -f debian/official );\
  150.     then echo YES;\
  151.     else echo NO; fi; )
  152. else
  153.   HAS_CHANGELOG := $(shell if test -f debian/changelog; then echo YES;\
  154.                           else echo NO; fi; )
  155. endif
  156.  
  157. # Hmm. The version that we have computed *MUST* match the one that is in the
  158. # changelog.
  159. ifeq ($(strip $(HAS_CHANGELOG)),YES)
  160.   saved_version := $(shell if test -f debian/changelog; then \
  161.                      perl -nle 'print /^$(INT_STEM)-source-(\S+)/; exit 0' \
  162.                           debian/changelog;\
  163.                   fi; )
  164. # Warn people about version mismatches, unless they are running an
  165. # "official" version, in which case they can shoot themselves in the
  166. # foot if they so desire
  167.   ifneq ($(strip $(saved_version)),)
  168.     ifneq ($(strip $(saved_version)),$(strip $(version)))
  169.       HAVE_VERSION_MISMATCH:=$(shell if test ! -f debian/official;then echo YES; fi; )
  170.     endif
  171.   endif
  172. endif
  173.  
  174.  
  175. ifneq ($(strip $(DELETE_BUILD_LINK)),)
  176. delete_build_link := YES
  177. else
  178. ifeq ($(strip $(delete_build_link)),)
  179. delete_build_link := $(shell if test -f debian/official; then echo YES;\
  180.                           else echo NO; fi; )
  181. endif
  182. endif
  183.  
  184. ifneq ($(strip $(IMAGE_IN_BOOT)),)
  185. link_in_boot := $(IMAGE_IN_BOOT)
  186. endif
  187.  
  188. ifneq ($(strip $(LINK_IN_BOOT)),)
  189. link_in_boot := $(LINK_IN_BOOT)
  190. endif
  191.  
  192. ifneq ($(strip $(NO_SYMLINK)),)
  193. no_symlink := $(NO_SYMLINK)
  194. endif
  195.  
  196. ifneq ($(strip $(REVERSE_SYMLINK)),)
  197. reverse_symlink := $(REVERSE_SYMLINK)
  198. endif
  199.  
  200. ifneq ($(strip $(IMAGE_TYPE)),)
  201. kimage = $(IMAGE_TYPE)
  202. endif
  203.  
  204. ifneq ($(strip $(PATCH_THE_KERNEL)),)
  205. patch_the_kernel = $(PATCH_THE_KERNEL)
  206. endif
  207.  
  208. ifneq ($(strip $(KPKG_SELECTED_PATCHES)),)
  209. ifeq ($(strip $(patch_the_kernel)),NO)
  210. patch_the_kernel = NO
  211. else
  212. ifeq ($(strip $(patch_the_kernel)),no)
  213. patch_the_kernel = NO
  214. else
  215. patch_the_kernel = YES
  216. endif
  217. endif
  218. endif
  219.  
  220.  
  221. ifeq ($(strip $(patch_the_kernel)),yes)
  222. patch_the_kernel = YES
  223. endif
  224. ifeq ($(strip $(patch_the_kernel)),Yes)
  225. patch_the_kernel = YES
  226. endif
  227. ifeq ($(strip $(patch_the_kernel)),YEs)
  228. patch_the_kernel = YES
  229. endif
  230. ifeq ($(strip $(patch_the_kernel)),yEs)
  231. patch_the_kernel = YES
  232. endif
  233. ifeq ($(strip $(patch_the_kernel)),yES)
  234. patch_the_kernel = YES
  235. endif
  236. ifeq ($(strip $(patch_the_kernel)),yeS)
  237. patch_the_kernel = YES
  238. endif
  239.  
  240.  
  241.  
  242. ifneq ($(strip $(CONFIG_TARGET)),)
  243. config_target := $(CONFIG_TARGET)
  244. have_new_config_target := YES
  245. endif
  246.  
  247. # If config_target doesn't end in 'config' then reset it to 'oldconfig'.
  248. ifneq ($(patsubst %config,config,$(strip $(config_target))),config)
  249. config_target := oldconfig
  250. have_new_config_target :=
  251. endif
  252.  
  253. ifneq ($(strip $(USE_SAVED_CONFIG)),)
  254. use_saved_config = $(USE_SAVED_CONFIG)
  255. endif
  256.  
  257. #ifeq ($(origin var),command line)
  258. #$(warn You are setting an internal var from the cmdline. Use at your own risk)
  259. #endif
  260. #you can automated it a bit more with $(foreach) and $(if)
  261.  
  262.  
  263. ###
  264. ### In the following, we define these variables
  265. ### ROOT_CMD      -- set in the environment, plaing old sudo or fakeroot
  266. ### root_cmd      -- The same
  267. ### int_root_cmd  -- the argument passed to dpkg-buildpackage
  268. ###                  -r$(ROOT_CMD)
  269. ifneq ($(strip $(ROOT_CMD)),)
  270.  # ROOT_CMD is not supposed to have -r or -us and -uc
  271.  int_dummy_root := $(ROOT_CMD)
  272.  # remove -us and -uc
  273.  ifneq ($(strip $(findstring -us, $(int_dummy_root))),)
  274.    int_dummy_root := $(subst -us,, $(strip $(int_dummy_root)))
  275.    int_us := -us
  276.  endif
  277.  ifneq ($(strip $(findstring -uc, $(int_dummy_root))),)
  278.    int_dummy_root := $(subst -uc,, $(strip $(int_dummy_root)))
  279.    int_uc := -uc
  280.  endif
  281.  ifneq ($(strip $(findstring -r, $(int_dummy_root))),)
  282.    int_dummy_root := $(subst -r,, $(strip $(int_dummy_root)))
  283.  endif
  284.  # sanitize
  285.  ROOT_CMD     :=   $(strip $(int_dummy_root))
  286.  int_root_cmd := -r$(strip $(int_dummy_root))
  287. else
  288.   # well, ROOT_CMD is not set yet
  289.   ifneq ($(strip $(root_cmd)),)
  290.     # Try and set ROOT_CMD from root_cmd
  291.     int_dummy_root := $(root_cmd)
  292.     # remove -us and -uc
  293.     ifneq ($(strip $(findstring -us, $(int_dummy_root))),)
  294.       int_dummy_root := $(subst -us,, $(strip $(int_dummy_root)))
  295.       int_us := -us
  296.     endif
  297.     ifneq ($(strip $(findstring -uc, $(int_dummy_root))),)
  298.       int_dummy_root := $(subst -uc,, $(strip $(int_dummy_root)))
  299.       int_uc := -uc
  300.     endif
  301.     # now that -us and -uc are gone, remove -r
  302.     ifneq ($(strip $(findstring -r, $(int_dummy_root))),)
  303.       int_dummy_root := $(subst -r,, $(strip $(int_dummy_root)))
  304.     endif
  305.     # Finally, sanitized
  306.     ROOT_CMD     :=   $(strip $(int_dummy_root))
  307.     int_root_cmd := -r$(strip $(int_dummy_root))
  308.   endif
  309. endif
  310.  
  311. # make sure that root_cmd and ROOT_CMD are the same
  312. ifneq ($(strip $(ROOT_CMD)),)
  313.   root_cmd := $(ROOT_CMD)
  314. endif
  315.  
  316. ifneq ($(strip $(UNSIGN_SOURCE)),)
  317.   int_us := -us
  318. endif
  319.  
  320. ifneq ($(strip $(UNSIGN_CHANGELOG)),)
  321.   int_uc := -uc
  322. endif
  323.  
  324. int_am_root  := $(shell [ $$(id -u) -eq 0 ] && echo "YES" )
  325.  
  326.  
  327. ifneq ($(strip $(CLEAN_SOURCE)),)
  328. do_clean = $(CLEAN_SOURCE)
  329. endif
  330.  
  331. ifneq ($(strip $(CONCURRENCY_LEVEL)),)
  332. do_parallel = -j$(CONCURRENCY_LEVEL)
  333.  
  334. # Well, I wish there was something better than guessing by version number
  335. CAN_DO_DEP_FAST=$(shell if   [ $(VERSION) -lt 2 ];    then echo '';  \
  336.                         elif [ $(VERSION) -gt 2 ];    then echo YES; \
  337.                         elif [ $(PATCHLEVEL) -lt 4 ]; then echo '';  \
  338.                         else                             echo YES; \
  339.                         fi)
  340. ifneq ($(strip $(CAN_DO_DEP_FAST)),)
  341. fast_dep= -j$(CONCURRENCY_LEVEL)
  342. endif
  343.  
  344. endif
  345.  
  346. ifneq ($(strip $(SOURCE_CLEAN_HOOK)),)
  347. source_clean_hook=$(SOURCE_CLEAN_HOOK)
  348. endif
  349. ifneq ($(strip $(HEADER_CLEAN_HOOK)),)
  350. header_clean_hook=$(HEADER_CLEAN_HOOK)
  351. endif
  352. ifneq ($(strip $(DOC_CLEAN_HOOK)),)
  353. doc_clean_hook=$(DOC_CLEAN_HOOK)
  354. endif
  355. ifneq ($(strip $(IMAGE_CLEAN_HOOK)),)
  356. image_clean_hook=$(IMAGE_CLEAN_HOOK)
  357. endif
  358.  
  359. #Local variables:
  360. #mode: makefile
  361. #End:
  362.