⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 SMDK2440 boot code, base on vivi
💻
字号:
VERSION = 1PATCHLEVEL = 0SUBLEVEL = 0VIVIRELEASE=$(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)VIVI_INCLUDE           = $(TOPDIR)/includeKERNEL_HEADER	:= HOSTCC          = gccHOSTCFLAGS      = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointerCROSS_COMPILE   = 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 VIVI_INCLUDE 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 .configifeq ($(CONFIG_BOOT_TYPE_MDOCP),y)do-it-all:	Version vivi vivi_doubleelsedo-it-all:	Version viviendifelseCONFIGURATION = configdo-it-all:	configendif## standard CFLAGS#CPPFLAGS := -I$(VIVI_INCLUDE)CFLAGS := $(CPPFLAGS) -Wall -Wstrict-prototypes -O2 -fPIC -fomit-frame-pointerAFLAGS := -D__ASSEMBLY__ $(CPPFLAGS)ifeq ($(CONFIG_KERNEL_VERSION_2_6),y)CFLAGS += -I$(KERNEL_HEADER)endifCORE_FILES	= init/main.o init/version.o lib/lib.o kernel/kernel.oSUBDIRS         = drivers lib kernelDRIVERS-y :=DRIVERS-$(CONFIG_SERIAL) += drivers/serial/serial.oDRIVERS-$(CONFIG_MTD) += drivers/mtd/mtd.oDRIVERS-$(CONFIG_CHAR) += drivers/char/char.oDRIVERS-$(CONFIG_FB) += drivers/video/video.oDRIVERS-$(CONFIG_NET) += drivers/net/net.o net/network.oDRIVERS := $(DRIVERS-y)CLEAN_FILES = \	usbboot-elf \	usbboot.bin \	usbboot.nm \	usbboot.mapifeq ($(CONFIG_BOOT_TYPE_MDOCP),y)CLEAN_FILES += \	arch/pxa250/ipl/ipl arch/pxa250/ipl/ipl-elf \	arch/pxa250/ipl/ipl.lds arch/pxa250/ipl/ipl.map \	arch/pxa250/ipl/ipl.bin \	arch/sa1100/ipl/ipl arch/sa1100/ipl/ipl-elf \	arch/sa1100/ipl/ipl.lds arch/sa1100/ipl/ipl.map \	arch/sa1100/ipl/ipl.bin \	vivi_doubleendifOBJCOPYFLAGS = -R .comment -R .stab -R .stabstrLINKFLAGS = -Tarch/vivi.lds -BstaticDISTCLEAN_FILES = \	include/autoconf.h include/version.h include/compile.h include/arch \	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.hmk_symlinks:	rm -f include/arch	( cd include ; ln -sf arch-$(MACHINE) arch ; cd ..)vivi: include/version.h $(CONFIGURATION) init/main.o init/version.o linuxsubdirs	$(LD) -v $(LINKFLAGS) \		$(HEAD) \		$(CORE_FILES) \		$(DRIVERS) \		-o usbboot-elf	$(NM) -v -l usbboot-elf > usbboot.map	$(OBJCOPY) -O binary -S usbboot-elf usbboot.bin $(OBJCOPYFLAGS) util/dexpand:	$(MAKE) -C util dexpandvivi_double: vivi util/dexpand	./util/dexpand vivi vivi_doubleoldconfig: mk_symlinks	$(CONFIG_SHELL) scripts/Configure -d arch/config.inconfig: mk_symlinks 	$(CONFIG_SHELL) scripts/Configure arch/config.inmenuconfig: include/version.h mk_symlinks	$(MAKE) -C scripts/lxdialog all	$(CONFIG_SHELL) scripts/Menuconfig arch/config.inclean: mk_symlinks	find . \( -name '*.o' -o -name core -o -name ".*.flags" \) -type f -print \	| grep -v lxdialog/ | xargs rm -f	@rm -vf $(CLEAN_FILES)distclean: clean	rm -f $(DISTCLEAN_FILES)linuxsubdirs: $(patsubst %, _dir_%, $(SUBDIRS))$(patsubst %, _dir_%, $(SUBDIRS)) : include/version.h	$(MAKE) CFLAGS="$(CFLAGS)" -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) $(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 + -