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

📄 makefile

📁 vt6528芯片交换机API函数和文档运行程序
💻
字号:
#
# For macro variables
#   TARGET=[output filename]
#   ASMPARAM=[assembler parameter]
#   CCPARAM=[compiler parameter]
#   LINKPARAM=[linker parameter]
#   LIBFILE=[library filename]
#


WORKPath    = ../../..
INCPath     =	-I$(WORKPath)/src/stdcom \
		-I$(WORKPath)/src/device/s3c4510b \
		-I$(WORKPath)/src/app \
		-I$(WORKPath)/src/swapi \
		-I$(WORKPath)/src/ttycore -I$(WORKPath)/src/ttypage \
		-I$(WORKPath)/src/ttypageex \
		-I$(WORKPath)/src/netlib \
		-I$(WORKPath)/src/webpage \

TARGETPath  = $(WORKPath)/bin
TOOLRootPath= /usr/local/arm/3.4.3
TOOLPath    = $(TOOLRootPath)/bin

ASM         = $(TOOLPath)/arm-elf-as
CC          = $(TOOLPath)/arm-elf-gcc
LINK        = $(TOOLPath)/arm-elf-ld
LIBRARY     = $(TOOLPath)/arm-elf-ar
OBJCOPY     = $(TOOLPath)/arm-elf-objcopy

CHIPTOOL    = #-D__ADD_ANLZ
ASMFLAGS    =	$(ASMPARAM) --gdwarf2 -mapcs-32 -mcpu=arm7tdmi -march=armv4t \
		$(INCPath)
CFLAGS      =	$(CCPARAM) $(CHIPTOOL) -gdwarf-2 -c -mstructure-size-boundary=8 -mapcs-32 \
		-mcpu=arm7tdmi -march=armv4t -fomit-frame-pointer -Wall \
		$(INCPath)
LINKFLAGS   =	$(LINKPARAM) -o $(TARGETPath)/$(TARGET) \
		-Map $(TARGETPath)/$(TARGET).sym $(OBJS) $(LIBS) \
		-L $(shell dirname `$(CC) -$(CFLAGS) -print-libgcc-file-name`) \
		-lgcc


OBJ_SOC     =   main.o init.o isr.o soc.o timer.o uart.o

OBJ_CMN	    =	crc.o flash.o str.o tty.o xymodem.o sprintf.o 

OBJ_SWITCH  =   sweep.o swgmrptb.o swipmtb.o swpmactb.o swsmactb.o swl2ptb.o \
		swlogtb.o swmcstcnttb.o swmibtb.o swmii.o swmisc.o swmodl.o \
		swmpmtb.o swmsttb.o swpkt.o swprimtb.o swport.o swproto.o \
		swprvtb.o swqos.o swrate.o swreg.o swsecu.o swsnf.o swsram.o \
		swstp.o swsys.o swtrk.o swvlantb.o swfwd.o swmactblscan.o

OBJ_PAGE    =   dbgmenu.o eng_act.o eng_io.o eng_move.o engine.o allpages.o \
		cfgstr.o gen_act.o login.o picfgmp.o pieeprom.o pigencfg.o \
		pimod.o pimsg.o piportmp.o pisystem.o \
		\
		pgadmin.o pgboot.o pginfo.o pgmain.o pgmisc.o pgport.o \
		pgqos.o pgrate.o pgsniff.o pgtrunk.o pgvlan.o pgtcl.o \
		piadmin.o pimisc.o piport.o piqos.o pirate.o \
		pisniff.o pitrunk.o pivlneep.o pivlnflt.o pivlngrp.o \
		pivlnmod.o tclcmd.o\
		\
		pg8021x.o pgfwupdt.o pggmrp.o pgipcfg.o pgipm.o pgmac.o \
		pgmib.o pgprov.o pgprvmis.o pgsmac.o pgstp.o pgacl.o \
		pi8021x.o pifwupdt.o pigmrpep.o pigmrpgp.o pigmrpmd.o \
		piipcfg.o piipmeep.o piipmgrp.o piipmmod.o pimib.o \
		piprvmis.o pismac.o pismacep.o pismacgp.o pistp.o piacleep.o \
		piaclgrp.o \
                \
                pgmacflt.o pimacfltep.o pimacfltgp.o pimacfltmd.o \
		\
		weblib.o webfs.o getfile.o cgi_show.o cgi_set.o 

OBJS_NET    =	tasknet.o netif.o arp.o icmp.o ip.o ipcalc.o udp.o tcp.o \
		tftp.o tftpc.o httpd.o

OBJS        =	$(OBJ_SOC) $(OBJ_CMN) $(OBJ_SWITCH) $(OBJ_PAGE)

LIBS        = $(LIBFILE)

all:
	make cleanall
	make bimgl
	make cleanall
	make bimgb
	make cleanall

bimgl:
	-rm -f errors.txt
	make main TARGET=imagel.elf CCPARAM="-O2 -mlittle-endian -mno-apcs-stack-check -D__NP_SUPPORT_TCP -D__LITTLE_ENDIAN -D__MODULE_WEB_SMART -D__PRTCL_VLAN_REMOVE -D__ADD_ACL_MENU -D__ADD_SLI" LINKPARAM="-EL -T main.lds" LIBFILE="../../netlib/netlib100l.a"
	$(OBJCOPY) -S -I elf32-littlearm -O binary $(TARGETPath)/imagel.elf $(TARGETPath)/image4510l.bin

bimgb:
	-rm -f errors.txt
	make main TARGET=imageb.elf CCPARAM="-O2 -mbig-endian -mno-apcs-stack-check -D__NP_SUPPORT_TCP -D__BIG_ENDIAN -D__BIG_ENDIAN_OF_BIT -D__MODULE_WEB_SMART -D__PRTCL_VLAN_REMOVE -D__ADD_ACL_MENU -D__ADD_SLI" LINKPARAM="-EB -T main.lds" LIBFILE="../../netlib/netlib100b.a"
	$(OBJCOPY) -S -I elf32-bigarm -O binary $(TARGETPath)/imageb.elf $(TARGETPath)/image4510b.bin

main: $(OBJS)
	$(LINK) $(LINKFLAGS) 2>>errors.txt

clean:
	@find ../ \( -name '*.o' -or -name '*.err' -or -name '*.obj' -or -name '*.bak' -or -name '*.lst' -or -name '*.map' -or -name '*.sym' -or -name '*.swp' -or -name '*.csm' \) -exec rm -f {} \;
	@find ../ \( -name '*.~de' -or -name '*.lnk' -or -name '*.opt' -or -name '*.__i' -or -name '*.m51' -or -name '*.lnp' -or -name '*.ls1' -or -name '*.src' \) -exec rm -f {} \;
	-rm -f .dep

cleanall: clean
	@find ../ \( -name '*.a' -or -name '*.lib' \) -exec rm -f {} \;
	-rm -f ../../../bin/*. ../../../bin/*.mpj ../../../bin/*.sym ../../../bin/*.axf ../../../bin/*.elf



init.o: $(WORKPath)/src/device/s3c4510b/inita.S $(WORKPath)/src/device/s3c4510b/devicea.S
	$(CC) $(CFLAGS) $(WORKPath)/src/device/s3c4510b/inita.S -o init.o 2>>errors.txt

#
# Pattern rule
#
VPATH = ../../stdcom \
		../../device/s3c4510b \
		../../app \
		../../swapi \
		../../ttycore ../../ttypage \
		../../ttypageex \
		../../netlib \
		../../webpage \

%.o : %.c
	$(CC) $(CFLAGS) $< 2>>errors.txt

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -