X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=Makefile;h=6a50a28597b43553ad6b65dbcf4ddcd1da15940f;hb=f1ba74950922a8a072e5188e3f875b9dd9844138;hp=4b49208d1a323900059faab42b7e3b739957ba61;hpb=7d219aab70e6951ab82c27c202cac05016696723;p=oweals%2Fbusybox.git diff --git a/Makefile b/Makefile index 4b49208d1..6a50a2859 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ VERSION = 1 -PATCHLEVEL = 2 -SUBLEVEL = 1 +PATCHLEVEL = 6 +SUBLEVEL = 0 EXTRAVERSION = .svn -NAME=Unnamed +NAME = Unnamed # *DOCUMENTATION* # To see a list of typical targets execute "make help" @@ -71,7 +71,7 @@ endif # In both cases the working directory must be the root of the kernel src. # 1) O= # Use "make O=dir/to/store/output/files/" -# +# # 2) Set KBUILD_OUTPUT # Set the environment variable KBUILD_OUTPUT to point to the directory # where the output files shall be placed. @@ -145,7 +145,7 @@ export srctree objtree VPATH TOPDIR # SUBARCH tells the usermode build what the underlying arch is. That is set # first, and if a usermode build is happening, the "ARCH=um" on the command # line overrides the setting of ARCH below. If a native build is happening, -# then ARCH is assigned, getting whatever value it gets normally, and +# then ARCH is assigned, getting whatever value it gets normally, and # SUBARCH is subsequently ignored. SUBARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \ @@ -229,7 +229,7 @@ export KBUILD_CHECKSRC KBUILD_SRC KBUILD_EXTMOD # cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $< # # If $(quiet) is empty, the whole command will be printed. -# If it is set to "quiet_", only the short version will be printed. +# If it is set to "quiet_", only the short version will be printed. # If it is set to "silent_", nothing wil be printed at all, since # the variable $(silent_cmd_cc_o_c) doesn't exist. # @@ -263,7 +263,7 @@ export quiet Q KBUILD_VERBOSE MAKEFLAGS += --include-dir=$(srctree) # We need some generic definitions -include $(srctree)/scripts/Kbuild.include +include $(srctree)/scripts/Kbuild.include # For maximum performance (+ possibly random breakage, uncomment # the following) @@ -273,8 +273,8 @@ MAKEFLAGS += -rR # Make variables (CC, etc...) AS = $(CROSS_COMPILE)as -LD = $(CROSS_COMPILE)ld CC = $(CROSS_COMPILE)gcc +LD = $(CC) -nostdlib CPP = $(CC) -E AR = $(CROSS_COMPILE)ar NM = $(CROSS_COMPILE)nm @@ -299,10 +299,9 @@ AFLAGS_KERNEL = # Use LINUXINCLUDE when you must reference the include/ directory. # Needed to be compatible with the O= option -CFLAGS := -CPPFLAGS := -AFLAGS := -include $(srctree)/Makefile.flags +CFLAGS := $(CFLAGS) +CPPFLAGS := $(CPPFLAGS) +AFLAGS := $(AFLAGS) # Read KERNELRELEASE from .kernelrelease (if it exists) KERNELRELEASE = $(shell cat .kernelrelease 2> /dev/null) @@ -314,7 +313,7 @@ export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION \ HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS export CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS -export CFLAGS CFLAGS_KERNEL CFLAGS_MODULE +export CFLAGS CFLAGS_KERNEL CFLAGS_MODULE export AFLAGS AFLAGS_KERNEL AFLAGS_MODULE # When compiling out-of-tree modules, put MODVERDIR in the module @@ -352,7 +351,7 @@ endif # catch them early, and hand them over to scripts/kconfig/Makefile # It is allowed to specify more targets when calling make, including # mixing *config targets and build targets. -# For example 'make oldconfig all'. +# For example 'make oldconfig all'. # Detect when mixed targets is specified, and make a second invocation # of make so .config is not included in this case either (for *config). @@ -399,7 +398,7 @@ ifeq ($(config-targets),1) export KBUILD_DEFCONFIG config %config: scripts_basic outputmakefile FORCE - $(Q)mkdir -p include/linux + $(Q)mkdir -p include $(Q)$(MAKE) $(build)=scripts/kconfig $@ $(Q)$(MAKE) -C $(srctree) KBUILD_SRC= .kernelrelease @@ -430,10 +429,6 @@ libs-y := \ coreutils/libcoreutils/ \ debianutils/ \ e2fsprogs/ \ - e2fsprogs/blkid/ \ - e2fsprogs/e2p/ \ - e2fsprogs/ext2fs/ \ - e2fsprogs/uuid/ \ editors/ \ findutils/ \ init/ \ @@ -447,6 +442,7 @@ libs-y := \ networking/udhcp/ \ procps/ \ runit/ \ + selinux/ \ shell/ \ sysklogd/ \ util-linux/ \ @@ -460,19 +456,21 @@ ifeq ($(dot-config),1) # oldconfig if changes are detected. -include .kconfig.d -include .config +-include .config # If .config needs to be updated, it will be done via the dependency # that autoconf has on .config. # To avoid any implicit rule to kick in, define an empty command .config .kconfig.d: ; +# Now we can define CFLAGS etc according to .config +include $(srctree)/Makefile.flags + # If .config is newer than include/autoconf.h, someone tinkered # with it and forgot to run make oldconfig. # If kconfig.d is missing then we are probarly in a cleaned tree so # we execute the config step to be sure to catch updated Kconfig files include/autoconf.h: .kconfig.d .config - $(Q)mkdir -p include/linux $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig else @@ -483,7 +481,7 @@ endif # The all: target is the default when no target is given on the # command line. # This allow a user to issue only 'make' to build a kernel including modules -# Defaults busybox but it is usually overriden in the arch makefile +# Defaults busybox but it is usually overridden in the arch makefile all: busybox -include $(srctree)/arch/$(ARCH)/Makefile @@ -532,7 +530,6 @@ libs-y1 := $(patsubst %/, %/lib.a, $(libs-y)) libs-y2 := $(patsubst %/, %/built-in.o, $(libs-y)) libs-y := $(libs-y1) $(libs-y2) - # Build busybox # --------------------------------------------------------------------------- # busybox is build from the objects selected by $(busybox-init) and @@ -565,12 +562,13 @@ busybox-all := $(core-y) $(libs-y) # Rule to link busybox - also used during CONFIG_KALLSYMS # May be overridden by arch/$(ARCH)/Makefile quiet_cmd_busybox__ ?= LINK $@ - cmd_busybox__ ?= scripts/trylink $(CC) -o $@ \ + cmd_busybox__ ?= $(srctree)/scripts/trylink $(CC) $(LDFLAGS) \ + -o $@ -Wl,-M \ -Wl,--warn-common -Wl,--sort-common -Wl,--gc-sections \ - -Wl,--start-group $(busybox-all) -Wl,--end-group \ + -Wl,--start-group $(busybox-all) -Wl,--end-group # Generate System.map -quiet_cmd_sysmap = SYSMAP +quiet_cmd_sysmap = SYSMAP cmd_sysmap = $(CONFIG_SHELL) $(srctree)/scripts/mksysmap # Link of busybox @@ -626,7 +624,7 @@ endef # First command is ':' to allow us to use + in front of this rule cmd_ksym_ld = $(cmd_busybox__) define rule_ksym_ld - : + : +$(call cmd,busybox_version) $(call cmd,busybox__) $(Q)echo 'cmd_$@ := $(cmd_busybox__)' > $(@D)/.$(@F).cmd @@ -674,10 +672,10 @@ busybox_unstripped: $(busybox-all) FORCE $(Q)rm -f .old_version busybox: busybox_unstripped - $(Q)strip -s --remove-section=.note --remove-section=.comment \ + $(Q)$(STRIP) -s --remove-section=.note --remove-section=.comment \ busybox_unstripped -o $@ -# The actual objects are generated when descending, +# The actual objects are generated when descending, # make sure no implicit rule kicks in $(sort $(busybox-all)): $(busybox-dirs) ; @@ -710,7 +708,7 @@ _localver = $(foreach f, $(__localver), $(if $(findstring ~, $(f)),,$(f))) localver = $(subst $(space),, \ $(shell cat /dev/null $(_localver)) \ $(patsubst "%",%,$(CONFIG_LOCALVERSION))) - + # If CONFIG_LOCALVERSION_AUTO is set scripts/setlocalversion is called # and if the SCM is know a tag from the SCM is appended. # The appended tag is determinded by the SCM used. @@ -793,15 +791,14 @@ export CPPFLAGS_busybox.lds += -P -C -U$(ARCH) #bbox# @ln -fsn asm-$(ARCH) $@ # Split autoconf.h into include/linux/config/* +quiet_cmd_gen_bbconfigopts = GEN include/bbconfigopts.h + cmd_gen_bbconfigopts = $(srctree)/scripts/mkconfigs > include/bbconfigopts.h +quiet_cmd_split_autoconf = SPLIT include/autoconf.h -> include/config/* + cmd_split_autoconf = scripts/basic/split-include include/autoconf.h include/config #bbox# piggybacked generation of few .h files include/config/MARKER: scripts/basic/split-include include/autoconf.h - @echo ' SPLIT include/autoconf.h -> include/config/*' - @scripts/basic/split-include include/autoconf.h include/config - @echo ' GEN include/bbconfigopts.h' - @scripts/mkconfigs >include/bbconfigopts.h - @$(MAKE) $(build)=scripts - @echo ' GEN include/usage_compressed.h' - @scripts/usage_compressed include/usage_compressed.h scripts + $(call cmd,split_autoconf) + $(call cmd,gen_bbconfigopts) @touch $@ # Generate some files @@ -892,7 +889,7 @@ else # CONFIG_MODULES modules modules_install: FORCE @echo - @echo "The present kernel configuration has modules disabled." + @echo "The present busybox configuration has modules disabled." @echo "Type 'make config' and enable loadable module support." @echo "Then build a kernel with module support enabled." @echo @@ -909,13 +906,15 @@ endif # CONFIG_MODULES # Directories & files removed with 'make clean' CLEAN_DIRS += $(MODVERDIR) -CLEAN_FILES += busybox System.map \ +CLEAN_FILES += busybox* System.map .kernelrelease \ .tmp_kallsyms* .tmp_version .tmp_busybox* .tmp_System.map # Directories & files removed with 'make mrproper' MRPROPER_DIRS += include/config include2 MRPROPER_FILES += .config .config.old include/asm .version .old_version \ - include/autoconf.h \ + include/autoconf.h \ + include/bbconfigopts.h \ + include/usage_compressed.h \ .kernelrelease Module.symvers tags TAGS cscope* # clean - Delete most, but leave enough to build external modules @@ -940,7 +939,7 @@ clean: archclean $(clean-dirs) # mrproper: rm-dirs := $(wildcard $(MRPROPER_DIRS)) mrproper: rm-files := $(wildcard $(MRPROPER_FILES)) -mrproper-dirs := $(addprefix _mrproper_,Documentation/DocBook scripts) +mrproper-dirs := $(addprefix _mrproper_,scripts) PHONY += $(mrproper-dirs) mrproper archmrproper $(mrproper-dirs): @@ -980,7 +979,7 @@ rpm: FORCE boards := $(wildcard $(srctree)/arch/$(ARCH)/configs/*_defconfig) boards := $(notdir $(boards)) --include Makefile.help +-include $(srctree)/Makefile.help # Documentation targets # --------------------------------------------------------------------------- @@ -1237,7 +1236,7 @@ endif $(build)=$(build-dir) $(@:.ko=.o) $(Q)$(MAKE) -rR -f $(srctree)/scripts/Makefile.modpost -# FIXME Should go into a make.lib or something +# FIXME Should go into a make.lib or something # =========================================================================== quiet_cmd_rmdirs = $(if $(wildcard $(rm-dirs)),CLEAN $(wildcard $(rm-dirs))) @@ -1274,7 +1273,7 @@ endif # skip-makefile PHONY += FORCE FORCE: --include Makefile.custom +-include $(srctree)/Makefile.custom # Declare the contents of the .PHONY variable as phony. We keep that # information in a variable se we can use it in if_changed and friends.