?? makefile
字號:
VERSION = 0PATCHLEVEL = 1SUBLEVEL = 4VIVIRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)ARCH := armCONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ else if [ -x /bin/bash ]; then echo /bin/bash; \ else echo sh; fi ; fi)TOPDIR := $(shell /bin/pwd)## change this to point to the Linux include directory##LINUX_INCLUDE_DIR = /usr/local/arm/3.3.2/arm-linux/sys-includeLINUX_INCLUDE_DIR = /usr/local/arm/2.95.3/arm-linux/sys-includeVIVIPATH = $(TOPDIR)/includeHOSTCC = gccHOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointerCROSS_COMPILE = /usr/local/arm/2.95.3/bin/arm-linux-## Include the make variables (CC, etc...)#AS = $(CROSS_COMPILE)asLD = $(CROSS_COMPILE)ldCC = $(CROSS_COMPILE)gccCPP = $(CC) -EAR = $(CROSS_COMPILE)arNM = $(CROSS_COMPILE)nmSTRIP = $(CROSS_COMPILE)stripOBJCOPY = $(CROSS_COMPILE)objcopyOBJDUMP = $(CROSS_COMPILE)objdumpMAKEFILES = $(TOPDIR)/.configMD5SUM = md5sumPERL = perlAWK = awkexport VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE \ CONFIG_SHELL TOPDIR VIVIPATH HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \ CPP AR NM STRIP OBJCOPY OBJDUMP MAKE MAKEFILES MD5SUM PERL AWKall: do-it-allifeq (.config,$(wildcard .config))include .configelseCONFIGURATION = configdo-it-all: configendifdo-it-all: Version vivi## standard CFLAGS#CPPFLAGS := -I$(VIVIPATH) -I$(LINUX_INCLUDE_DIR)#CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -O2 \# -fomit-frame-pointer -fno-strict-aliasing -fno-commonCFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fPIC \ -fomit-frame-pointer -fno-strict-aliasing#CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -O2 -fPIC -fomit-frame-pointerAFLAGS := -D__ASSEMBLY__ $(CPPFLAGS)CORE_FILES = init/main.o init/version.o lib/lib.oifneq ($(CONFIG_NETWORK),y)#NET_LIB = mylib/netlink.lo mylib/netdev_dm9k.loendif#NET_LIB = mylib/net.lo mylib/netdev.lo mylib/chechid.oNET_LIB-y :=NET_LIB-$(CONFIG_NETWORK) += net/network.o#VGA_LIB = mylib/vgadev.loLIBS := lib/priv_data/priv_data.o $(NET_LIB-y) $(NET_LIB)SUBDIRS-y := drivers lib SUBDIRS-$(CONFIG_NETWORK) += netSUBDIRS := $(SUBDIRS-y)DRIVERS-y :=DRIVERS-$(CONFIG_SERIAL) += drivers/serial/serial.oDRIVERS-$(CONFIG_MTD) += drivers/mtd/mtd.o#DRIVERS-$(CONFIG_DRIVER_CS8900) += drivers/net/netdev_cs89.lo#DRIVERS-$(CONFIG_DRIVER_CS8900) += drivers/net/netdev.o#DRIVERS-$(CONFIG_DRIVER_DM9000) += drivers/net/netdev.o#DRIVERS-$(CONFIG_DRIVER_DM9000) += drivers/net/netdev_dm9k.loDRIVERS-$(CONFIG_NETWORK) += drivers/net/netdev.oDRIVERS-$(CONFIG_CMD_VGA) += drivers/vga/vgadev.o#DRIVERS-y += drivers/net/netdev.loDRIVERS := $(DRIVERS-y)CLEAN_FILES = \ vivi-elf \ vivi \ vivi.nm \ vivi.map## Location of the gcc arm libs.#ARM_GCC_LIBS = /usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3OBJCOPYFLAGS = -R .comment -R .stab -R .stabstrCLIBS = -L$(ARM_GCC_LIBS) -lgcc -lcLINKFLAGS = -Tarch/vivi.lds -BstaticDISTCLEAN_FILES = \ include/autoconf.h include/version.h \ scripts/lxdialog/*.o scripts/lxdialog/lxdialog \ .menuconfig.log \ .config .config.old TAGS tagsinclude arch/Makefileexport CPPFLAGS CFLAGS AFLAGSexport DRIVERS LDFLAGSVersion: dummy @rm -f include/compile.hvivi: include/version.h $(CONFIGURATION) init/main.o init/version.o linuxsubdirs $(LD) -v $(LINKFLAGS) \ $(HEAD) \ $(CORE_FILES) \ $(DRIVERS) \ $(LIBS) \ $(CLIBS) \ -o vivi-elf $(NM) -v -l vivi-elf > vivi.map $(OBJCOPY) -O binary -S vivi-elf vivi2410.nand $(OBJCOPYFLAGS)oldconfig: $(CONFIG_SHELL) scripts/Configure -d arch/Config.inconfig: $(CONFIG_SHELL) scripts/Configure arch/Config.inmenuconfig: include/version.h $(MAKE) -C scripts/lxdialog all $(CONFIG_SHELL) scripts/Menuconfig arch/Config.inclean: find . \( -name '*.o' -o -name core -o -name ".*.flags" \) -type f -print \ | grep -v lxdialog/ | xargs rm -f rm -f $(CLEAN_FILES)distclean: clean rm -f $(DISTCLEAN_FILES)rebuild: clean alllinuxsubdirs: $(patsubst %, _dir_%, $(SUBDIRS))$(patsubst %, _dir_%, $(SUBDIRS)) : include/version.h $(MAKE) CFLAGS="$(CFLAGS) $(CFLAGS_KERNEL)" -C $(patsubst _dir_%, %, $@)$(TOPDIR)/include/version.h: include/version.h$(TOPDIR)/include/compile.h: include/compile.hinclude/compile.h: $(CONFIGURATION) include/version.h @echo -n \#define UTS_VERSION \"\#$(VIVIRELEASE) > .ver @if [ -f .name ]; then echo -n \-`cat .name` >> .ver; fi @echo ' '`date`'"' >> .ver @echo \#define VIVI_COMPILE_TIME \"`date +%T`\" >> .ver @echo \#define VIVI_COMPILE_BY \"`whoami`\" >> .ver @echo \#define VIVI_COMPILE_HOST \"`hostname`\" >> .ver @if [ -x /bin/dnsdomainname ]; then \ echo \#define VIVI_COMPILE_DOMAIN \"`dnsdomainname`\"; \ elif [ -x /bin/domainname ]; then \ echo \#define VIVI_COMPILE_DOMAIN \"`domainname`\"; \ else \ echo \#define VIVI_COMPILE_DOMAIN ; \ fi >> .ver @echo \#define VIVI_COMPILER \"`$(CC) $(CFLAGS) -v 2>&1 | tail -1`\" >> .ver @mv -f .ver $@include/version.h: @echo \#define VIVI_RELEASE \"$(VIVIRELEASE)\" > .ver @echo \#define VIVI_VERSION_CODE `expr $(VERSION) \\* 65536 + $(PATCHLEVEL) \\* 256 + $(SUBLEVEL)` >> .ver @echo '#define VIVI_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))' >>.ver @mv -f .ver $@init/version.o: init/version.c include/compile.h $(CC) $(CFLAGS) -DUTS_MACHINE='"$(ARCH)"' -c -o init/version.o init/version.cinit/main.o: init/main.c $(CC) $(CFLAGS) $(CFLAGS_KERNEL) $(PROFILING) -c -o $*.o $<TAGS: dummy etags `find include -name '*.h'` find $(SUBDIRS) init -name '*.[ch]' | xargs etags -a# Exuberant ctags works better with -Itags: dummy CTAGSF=`ctags --version | grep -i exuberant >/dev/null && echo "-I __initdata,__exitdata,EXPORT_SYMBOL,EXPORT_SYMBOL_NOVERS"`; \ ctags $$CTAGSF `find include -name '*.h'` && \ find $(SUBDIRS) init -name '*.[ch]' | xargs ctags $$CTAGSF -a%: ./arch/def-configs/% $(MAKE) distclean cp arch/def-configs/$* ./.config -f $(MAKE) oldconfig $(MAKE) 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)" @echo exit 1dummy:elsedummy:endifinclude Rules.make
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -