URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [trunk/] [uclinux/] [uClinux-2.0.x/] [Makefile] - Rev 1765
Compare with Previous | Blame | View Log
VERSION = 2PATCHLEVEL = 0SUBLEVEL = 38UCRELEASE = 1pre3ARCH = or32## For SMP kernels, set this. We don't want to have this in the config file# because it makes re-config very ugly and too many fundamental files depend# on "CONFIG_SMP"## NOTE! SMP is experimental. See the file Documentation/SMP.txt## SMP = 1## SMP profiling options# SMP_PROF = 1.EXPORT_ALL_VARIABLES:CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \else if [ -x /bin/bash ]; then echo /bin/bash; \else echo sh; fi ; fi)TOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)HPATH = $(TOPDIR)/includeFINDHPATH = $(HPATH)/asm $(HPATH)/linux $(HPATH)/scsi $(HPATH)/netHOSTCC =gcc -I$(HPATH)HOSTCFLAGS =-O2 -fomit-frame-pointerCROSS_COMPILE =or32-rtems-AS =$(CROSS_COMPILE)asLD =$(CROSS_COMPILE)ldCC =$(CROSS_COMPILE)gcc -D__KERNEL__ -I$(HPATH)CPP =$(CC) -EAR =$(CROSS_COMPILE)arNM =$(CROSS_COMPILE)nmSTRIP =$(CROSS_COMPILE)stripMAKE =makeall: 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 .configifeq (.depend,$(wildcard .depend))include .dependifdef CONFIG_UCLINUXLINUX = linuxelseLINUX = vmlinuxendifdo-it-all: Version $(LINUX)elseCONFIGURATION = dependdo-it-all: dependendifelseCONFIGURATION = configdo-it-all: configendif## 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## 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## 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#CFLAGS = -Wall -Wstrict-prototypes -Werror-implicit-function-declaration -fomit-frame-pointer -fno-strength-reduce -O2 -g# CFLAGS = -Wall -Wstrict-prototypes -fomit-frame-pointer -fno-strength-reduce -O2 -DDEBUGifdef CONFIG_CPPCFLAGS := $(CFLAGS) -x c++endififdef SMPCFLAGS += -D__SMP__AFLAGS += -D__SMP__ifdef SMP_PROFCFLAGS += -D__SMP_PROF__AFLAGS += -D__SMP_PROF__endifendif## if you want the ram-disk device, define this to be the# size in blocks.##RAMDISK = -DRAMDISK=512# Include the make variables (CC, etc...)#ARCHIVES =kernel/kernel.o fs/fs.o ipc/ipc.o net/network.aFILESYSTEMS =fs/filesystems.aDRIVERS =drivers/block/block.a \drivers/char/char.aLIBS =$(TOPDIR)/lib/lib.aSUBDIRS =kernel drivers fs net ipc libifdef CONFIG_UCLINUXARCHIVES := $(ARCHIVES) mmnommu/mm.oSUBDIRS := $(SUBDIRS) mmnommuelseARCHIVES := $(ARCHIVES) mm/mm.oSUBDIRS := $(SUBDIRS) mmendififeq ($(CONFIG_ISDN),y)DRIVERS := $(DRIVERS) drivers/isdn/isdn.aendifDRIVERS := $(DRIVERS) drivers/net/net.aifdef CONFIG_CD_NO_IDESCSIDRIVERS := $(DRIVERS) drivers/cdrom/cdrom.aendififeq ($(CONFIG_SCSI),y)DRIVERS := $(DRIVERS) drivers/scsi/scsi.aendififeq ($(CONFIG_SOUND),y)DRIVERS := $(DRIVERS) drivers/sound/sound.aendififdef CONFIG_PCIDRIVERS := $(DRIVERS) drivers/pci/pci.aendififdef CONFIG_SBUSDRIVERS := $(DRIVERS) drivers/sbus/sbus.aendifinclude arch/$(ARCH)/Makefile.S.s:$(CC) -D__ASSEMBLY__ $(AFLAGS) -traditional -E -o $*.s $<.S.o:$(CC) -D__ASSEMBLY__ $(AFLAGS) -traditional -c -o $*.o $<Version: dummy@rm -f include/linux/compile.hboot: $(LINUX)@$(MAKE) -C arch/$(ARCH)/boot$(LINUX): $(CONFIGURATION) init/main.o init/version.o linuxsubdirs$(LD) $(LINKFLAGS) $(HEAD) init/main.o init/version.o \$(ARCHIVES) \$(FILESYSTEMS) \$(DRIVERS) \$(LIBS) -o $(LINUX)$(NM) --line-numbers $(LINUX) | grep -v '\(compiled\)\|\(\.o$$\)\|\( a \)' | sort > System.mapsymlinks:rm -f include/asm( cd include ; ln -sf asm-$(ARCH) asm)oldconfig: symlinks$(CONFIG_SHELL) scripts/Configure -d arch/$(ARCH)/config.inxconfig: symlinks$(MAKE) -C scripts kconfig.tkwish -f scripts/kconfig.tkmenuconfig: include/linux/version.h symlinks$(MAKE) -C scripts/lxdialog all$(CONFIG_SHELL) scripts/Menuconfig arch/$(ARCH)/config.inconfig: symlinks$(CONFIG_SHELL) scripts/Configure arch/$(ARCH)/config.inlinuxsubdirs: dummyset -e; for i in $(SUBDIRS); do $(MAKE) -C $$i; done$(TOPDIR)/include/linux/version.h: include/linux/version.h$(TOPDIR)/include/linux/compile.h: include/linux/compile.hnewversion:@if [ ! -f .version ]; then \echo 1 > .version; \else \expr 0`cat .version` + 1 > .version; \fiinclude/linux/compile.h: $(CONFIGURATION) include/linux/version.h newversion@if [ -f .name ]; then \echo \#define UTS_VERSION \"\#`cat .version`-`cat .name` `date`\"; \else \echo \#define UTS_VERSION \"\#`cat .version` `date`\"; \fi >> .ver@echo \#define LINUX_COMPILE_TIME \"`date +%T`\" >> .ver@echo \#define LINUX_COMPILE_BY \"`whoami`\" >> .ver@echo \#define LINUX_COMPILE_HOST \"`hostname`\" >> .ver@if [ -x /bin/dnsdomainname ]; then \echo \#define LINUX_COMPILE_DOMAIN \"`dnsdomainname`\"; \elif [ -x /bin/domainname ]; then \echo \#define LINUX_COMPILE_DOMAIN \"`domainname`\"; \else \echo \#define LINUX_COMPILE_DOMAIN ; \fi >> .ver@echo \#define LINUX_COMPILER \"`$(CC) -v 2>&1 | tail -1`\" >> .ver@mv -f .ver $@ifdef CONFIG_UCLINUXinclude/linux/version.h: ./Makefile .config@echo \#define UTS_RELEASE \"$(VERSION).$(PATCHLEVEL).$(SUBLEVEL).$(UCRELEASE)\" > .ver@echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)` >> .ver@mv -f .ver $@elseinclude/linux/version.h: ./Makefile@echo \#define UTS_RELEASE \"$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)\" > .ver@echo \#define LINUX_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)` >> .ver@mv -f .ver $@endifinit/version.o: init/version.c include/linux/compile.h$(CC) $(CFLAGS) -DUTS_MACHINE='"$(ARCH)"' -c -o init/version.o init/version.cinit/main.o: init/main.c$(CC) $(CFLAGS) $(PROFILING) -c -o $*.o $<fs: dummy$(MAKE) linuxsubdirs SUBDIRS=fslib: dummy$(MAKE) linuxsubdirs SUBDIRS=libmm: dummy$(MAKE) linuxsubdirs SUBDIRS=mmmmnommu: dummy$(MAKE) linuxsubdirs SUBDIRS=mmnommuipc: dummy$(MAKE) linuxsubdirs SUBDIRS=ipckernel: dummy$(MAKE) linuxsubdirs SUBDIRS=kerneldrivers: dummy$(MAKE) linuxsubdirs SUBDIRS=driversnet: dummy$(MAKE) linuxsubdirs SUBDIRS=netMODFLAGS = -DMODULEifdef CONFIG_MODULESifdef CONFIG_MODVERSIONSMODFLAGS += -DMODVERSIONS -include $(HPATH)/linux/modversions.hendifmodules: include/linux/version.h@set -e; \for i in $(SUBDIRS); \do $(MAKE) -C $$i CFLAGS="$(CFLAGS) $(MODFLAGS)" MAKING_MODULES=1 modules; \donemodules_install:@( \MODLIB=/lib/modules/$(VERSION).$(PATCHLEVEL).$(SUBLEVEL); \cd modules; \MODULES=""; \inst_mod() { These="`cat $$1`"; MODULES="$$MODULES $$These"; \mkdir -p $$MODLIB/$$2; cp -p $$These $$MODLIB/$$2; \echo Installing modules under $$MODLIB/$$2; \}; \\if [ -f BLOCK_MODULES ]; then inst_mod BLOCK_MODULES block; fi; \if [ -f NET_MODULES ]; then inst_mod NET_MODULES net; fi; \if [ -f IPV4_MODULES ]; then inst_mod IPV4_MODULES ipv4; fi; \if [ -f SCSI_MODULES ]; then inst_mod SCSI_MODULES scsi; fi; \if [ -f FS_MODULES ]; then inst_mod FS_MODULES fs; fi; \if [ -f CDROM_MODULES ]; then inst_mod CDROM_MODULES cdrom; fi; \\ls *.o > .allmods; \echo $$MODULES | tr ' ' '\n' | sort | comm -23 .allmods - > .misc; \if [ -s .misc ]; then inst_mod .misc misc; fi; \rm -f .misc .allmods; \)# modules disabled....elsemodules modules_install: dummy@echo@echo "The present kernel configuration has modules disabled."@echo "Type 'make config' and enable loadable module support."@echo "Then build a kernel with module support enabled."@echo@exit 1endifclean: archcleanrm -f kernel/ksyms.lst include/linux/compile.hrm -f core `find . -name '*.[oas]' ! -regex '.*lxdialog/.*' -print`rm -f core `find . -type f -name 'core' -print`rm -f core `find . -name '*.rh' -print`rm -f $(LINUX) System.maprm -f .tmp* drivers/sound/configurerm -fr modules/*rm -f submenu*mrproper: cleanrm -f include/linux/autoconf.h include/linux/version.hrm -f drivers/sound/local.h drivers/sound/.definesrm -f drivers/char/uni_hash.tbl drivers/char/conmakehashrm -f .version .config* config.in config.oldrm -f scripts/tkparse scripts/kconfig.tk scripts/kconfig.tmprm -f scripts/lxdialog/*.o scripts/lxdialog/lxdialogrm -f .menuconfig .menuconfig.logrm -f include/asmrm -f .depend `find . -name .depend -print`rm -f .hdepend scripts/mkdeprm -f $(TOPDIR)/include/linux/modversions.hrm -f $(TOPDIR)/include/linux/modules/*distclean: mrproperrm -f core `find . \( -name '*.orig' -o -name '*.rej' -o -name '*~' \-o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \-o -name '.*.rej' -o -name '.SUMS' -o -size 0 \) -print` TAGSbackup: mrpropercd .. && tar cf - linux/ | gzip -9 > backup.gzsyncsums:find . -type f -print | sort | xargs sum > .SUMSdep-files: scripts/mkdep archdep include/linux/version.hecho Platform $(PLATFORM) Board $(BOARD) Model $(MODEL)scripts/mkdep init/*.c > .tmpdependscripts/mkdep `find $(FINDHPATH) -follow -name \*.h ! -name modversions.h -print` > .hdependset -e; for i in $(SUBDIRS); do $(MAKE) -C $$i fastdep; donemv .tmpdepend .dependMODVERFILE :=ifdef CONFIG_MODVERSIONSMODVERFILE := $(TOPDIR)/include/linux/modversions.hendifdepend dep: dep-files $(MODVERFILE)ifdef CONFIGURATION..$(CONFIGURATION):@echo@echo "You have a bad or nonexistent" .$(CONFIGURATION) ": running 'make" $(CONFIGURATION)"'"@echo$(MAKE) $(CONFIGURATION)@echo@echo "Successful. Try re-making (ignore the error that follows)"@echoexit 1#dummy: ..$(CONFIGURATION)dummy:elsedummy:endifinclude Rules.make## This generates dependencies for the .h files.#scripts/mkdep: scripts/mkdep.c$(HOSTCC) $(HOSTCFLAGS) -o scripts/mkdep scripts/mkdep.c
