diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 103 |
1 files changed, 58 insertions, 45 deletions
@@ -1,11 +1,11 @@ VERSION = 2 PATCHLEVEL = 3 SUBLEVEL = 99 -EXTRAVERSION = -pre1 +EXTRAVERSION = -pre2 -ARCH = mips +KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) -.EXPORT_ALL_VARIABLES: +ARCH = mips CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ else if [ -x /bin/bash ]; then echo /bin/bash; \ @@ -16,21 +16,28 @@ HPATH = $(TOPDIR)/include FINDHPATH = $(HPATH)/asm $(HPATH)/linux $(HPATH)/scsi $(HPATH)/net HOSTCC = gcc -HOSTCFLAGS = -O2 +HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer CROSS_COMPILE = -AS =$(CROSS_COMPILE)as -LD =$(CROSS_COMPILE)ld -CC =$(CROSS_COMPILE)gcc -CPP =$(CC) -E -AR =$(CROSS_COMPILE)ar -NM =$(CROSS_COMPILE)nm -STRIP =$(CROSS_COMPILE)strip -OBJCOPY =$(CROSS_COMPILE)objcopy -OBJDUMP =$(CROSS_COMPILE)objdump -MAKE =make -GENKSYMS=/sbin/genksyms +AS = $(CROSS_COMPILE)as +LD = $(CROSS_COMPILE)ld +CC = $(CROSS_COMPILE)gcc +CPP = $(CC) -E +AR = $(CROSS_COMPILE)ar +NM = $(CROSS_COMPILE)nm +STRIP = $(CROSS_COMPILE)strip +OBJCOPY = $(CROSS_COMPILE)objcopy +OBJDUMP = $(CROSS_COMPILE)objdump +MAKE = make +MAKEFILES = $(TOPDIR)/.config +GENKSYMS = /sbin/genksyms +MODFLAGS = -DMODULE +PERL = perl + +export VERSION PATCHLEVEL SUBLEVEL EXTRAVERSION KERNELRELEASE ARCH \ + CONFIG_SHELL TOPDIR HPATH HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \ + CPP AR NM STRIP OBJCOPY OBJDUMP MAKE MAKEFILES GENKSYMS MODFLAGS PERL all: do-it-all @@ -38,6 +45,7 @@ all: do-it-all # Make "config" the default target if there is no configuration file or # "depend" the target if there is no top-level dependency information. # + ifeq (.config,$(wildcard .config)) include .config ifeq (.depend,$(wildcard .depend)) @@ -53,20 +61,11 @@ do-it-all: config endif # -# ROOT_DEV specifies the default root-device when making the image. -# This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case -# the default of FLOPPY is used by 'build'. -# - -ROOT_DEV = CURRENT - -KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) - -# # INSTALL_PATH specifies where to place the updated kernel and system map # images. Uncomment if you want to place them anywhere other than root. +# -#INSTALL_PATH=/boot +#export INSTALL_PATH=/boot # # INSTALL_MOD_PATH specifies a prefix to MODLIB for module directory @@ -75,15 +74,6 @@ KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) # # -# If you want to preset the SVGA mode, uncomment the next line and -# set SVGA_MODE to whatever number you want. -# Set it to -DSVGA_MODE=NORMAL_VGA if you just want the EGA/VGA mode. -# The number is the same as you would ordinarily press at bootup. -# - -SVGA_MODE= -DSVGA_MODE=NORMAL_VGA - -# # standard CFLAGS # @@ -96,15 +86,34 @@ endif CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer AFLAGS := $(CPPFLAGS) +export CPPFLAGS CFLAGS AFLAGS + # -# if you want the RAM disk device, define this to be the -# size in blocks. +# ROOT_DEV specifies the default root-device when making the image. +# This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case +# the default of FLOPPY is used by 'build'. +# This is i386 specific. +# + +export ROOT_DEV = CURRENT + +# +# If you want to preset the SVGA mode, uncomment the next line and +# set SVGA_MODE to whatever number you want. +# Set it to -DSVGA_MODE=NORMAL_VGA if you just want the EGA/VGA mode. +# The number is the same as you would ordinarily press at bootup. +# This is i386 specific. # -#RAMDISK = -DRAMDISK=512 +export SVGA_MODE = -DSVGA_MODE=NORMAL_VGA -# Include the make variables (CC, etc...) # +# if you want the RAM disk device, define this to be the +# size in blocks. +# This is i386 specific. +# + +#export RAMDISK = -DRAMDISK=512 CORE_FILES =kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o NETWORKS =net/network.a @@ -166,6 +175,9 @@ DRIVERS += $(DRIVERS-y) include arch/$(ARCH)/Makefile +export CORE_FILES NETWORKS DRIVERS LIBS HEAD LDFLAGS LIBS LINKFLAGS \ + MAKEBOOT ASFLAGS + # use '-fno-strict-aliasing', but only if the compiler can take it CFLAGS += $(shell if $(CC) -fno-strict-aliasing -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-fno-strict-aliasing"; fi) @@ -276,7 +288,6 @@ tags: dummy find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' -print | xargs ctags $$CTAGSF -a && \ find $(SUBDIRS) init -name '*.c' | xargs ctags $$CTAGSF -a -MODFLAGS += -DMODULE ifdef CONFIG_MODULES ifdef CONFIG_MODVERSIONS MODFLAGS += -DMODVERSIONS -include $(HPATH)/linux/modversions.h @@ -320,6 +331,7 @@ modules_install: if [ -f SK98LIN_MODULES ]; then inst_mod SK98LIN_MODULES net; fi; \ if [ -f SKFP_MODULES ]; then inst_mod SKFP_MODULES net; fi; \ if [ -f USB_MODULES ]; then inst_mod USB_MODULES usb; fi; \ + if [ -f USB_SERIAL_MODULES ]; then inst_mod USB_SERIAL_MODULES usb; fi; \ if [ -f IEEE1394_MODULES ]; then inst_mod IEEE1394_MODULES ieee1394; fi; \ if [ -f PCMCIA_MODULES ]; then inst_mod PCMCIA_MODULES pcmcia; fi; \ if [ -f PCMCIA_NET_MODULES ]; then inst_mod PCMCIA_NET_MODULES pcmcia; fi; \ @@ -380,7 +392,7 @@ mrproper: clean archmrproper rm -rf include/config rm -f .depend `find . -type f -name .depend -print` rm -f core `find . -type f -size 0 -print` - rm -f .hdepend scripts/mkdep scripts/split-include + rm -f .hdepend scripts/mkdep scripts/split-include scripts/docproc rm -f $(TOPDIR)/include/linux/modversions.h rm -rf $(TOPDIR)/include/linux/modules @@ -405,20 +417,21 @@ dep-files: scripts/mkdep archdep include/linux/version.h find $(FINDHPATH) -follow -name \*.h ! -name modversions.h -print | env -i PATH="$(PATH)" HPATH="$(HPATH)" xargs scripts/mkdep > .hdepend $(MAKE) $(patsubst %,_sfdep_%,$(SUBDIRS)) _FASTDEP_ALL_SUB_DIRS="$(SUBDIRS)" -MODVERFILE := - ifdef CONFIG_MODVERSIONS MODVERFILE := $(TOPDIR)/include/linux/modversions.h +else +MODVERFILE := endif +export MODVERFILE depend dep: dep-files $(MODVERFILE) # make checkconfig: Prune 'scripts' directory to avoid "false positives". checkconfig: - find * -name '*.[hcS]' -type f -print | grep -v scripts/ | sort | xargs perl -w scripts/checkconfig.pl + find * -name '*.[hcS]' -type f -print | grep -v scripts/ | sort | xargs $(PERL) -w scripts/checkconfig.pl checkhelp: - perl -w scripts/checkhelp.pl `find * -name [cC]onfig.in -print` + $(PERL) -w scripts/checkhelp.pl `find * -name [cC]onfig.in -print` ifdef CONFIGURATION ..$(CONFIGURATION): |