📄 makefile.puma
字号:
# $Id: Makefile.Puma,v 1.1 2002/11/06 20:19:45 pefo Exp $## Makefile for PMON2000 on Momentum Puma PMC board## This makefile is constructed from a machine description:# pmoncfg <target># Most changes should be made in the machine description# Targets/<target>/conf/<target># after which you should do# pmoncfg <target># Machine generic makefile changes should be made in# Targets/<target>/conf/Makefile.<target># after which config should be rerun for all machines of that type.## N.B.: NO DEPENDENCIES ON FOLLOWING FLAGS ARE VISIBLE TO MAKEFILE# IF YOU CHANGE THE DEFINITION OF ANY OF THESE RECOMPILE EVERYTHING#.SUFFIXES: .S .c .o#CROSS_COMPILE =powerpc-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)objdumpRANLIB = $(CROSS_COMPILE)ranlibSIZE = $(CROSS_COMPILE)sizeOPT?= -Osall: pmon# source tree is located via $S relative to the compilation directoryifndef SS:=${shell cd ../../../..; pwd}endif# DefinesTARGET= ${S}/Targets/PumaMACHINE=powerpcMACHINE_ARCH=powerpcCOMPILEDIR=${shell pwd}OBJDIR=${COMPILEDIR}PMONDIR=${S}INCLUDES= -I. -I${S}/include -I./machine -I${S} \ -I${S}/sys/arch/${MACHINE}/include -I${S}/sys \ -I${TARGET} -I${COMPILEDIR} -nostdinc CPPFLAGS= ${INCLUDES} ${IDENT} -D_KERNEL -D__OpenBSD__ -DPMON -D__PMON__\ -Dpowerpc -D__powerpc__CWARNFLAGS= -Werror -Wall -Wmissing-prototypes -Wstrict-prototypes \ -Wno-uninitialized -Wno-format -Wno-mainCFLAGS= ${DEBUG} ${CWARNFLAGS} ${OPT} -msoft-floatAFLAGS= -D_LOCORELFLAGS= -n -N -Ttext 10000 -e startSTRIPFLAGS= -g -S --strip-debugHOSTCC?= ${CC}HOSTED_CPPFLAGS=${CPPFLAGS:S/^-nostdinc$//}HOSTED_CFLAGS= ${CFLAGS}include ${S}/lib/libc/Makefile.incLIBC=${CLIB}include ${S}/lib/libz/Makefile.incLIBZ=${ZLIB}# compile rules: rules are named ${TYPE}_${SUFFIX}${CONFIG_DEP}# where TYPE is NORMAL, DRIVER, or PROFILE}; SUFFIX is the file suffix,# capitalized (e.g. C for a .c file), and CONFIG_DEP is _C if the file# is marked as config-dependent.USRLAND_C= ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c $<USRLAND_C_C= ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} ${PARAM} -c $<NORMAL_C= ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c $<NORMAL_C_C= ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} ${PARAM} -c $<DRIVER_C= ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c $<DRIVER_C_C= ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} ${PARAM} -c $<NORMAL_S= ${CC} ${AFLAGS} ${CPPFLAGS} -c $<NORMAL_S_C= ${AS} ${COPTS} ${PARAM} $< -o $@%OBJS%CFILES%SFILES# load lines for config "xxx" will be emitted as:# xxx: ${SYSTEM_DEP}# ${SYSTEM_LD_HEAD}# ${SYSTEM_LD}# ${SYSTEM_LD_TAIL}SYSTEM_OBJ= start.o crtbegin.o param.o ioconf.o ${OBJS} ${LIBC} ${LIBZ} \ crtend.oSYSTEM_DEP= Makefile ${SYSTEM_OBJ}SYSTEM_LD_HEAD= rm -f $@SYSTEM_LD= @echo ${LD} ${LFLAGS} -o $@ ${LIBDIR} '$${SYSTEM_OBJ}' vers.o; \ ${LD} ${LFLAGS} -o $@ ${LIBDIR} ${SYSTEM_OBJ} vers.oSYSTEM_LD_TAIL= @${SIZE} $@; chmod 755 $@ ;\ ${OBJCOPY} -O srec $@ $@.srecDEBUG?=ifeq (${DEBUG}, "-g")LFLAGS+= -XSYSTEM_LD_TAIL+=; \ echo cp $@ $@.gdb; rm -f $@.gdb; cp $@ $@.gdb; \ echo ${STRIP} ${STRIPFLAGS} $@; ${STRIP} ${STRIPFLAGS} $@elseLFLAGS+= -Sendif%LOADparam.c: $S/sys/kern/param.c rm -f param.c cp $S/sys/kern/param.c .param.o: param.c Makefile ${NORMAL_C_C}ioconf.o: ioconf.c ${NORMAL_C}crtbegin.c: $S/pmon/arch/powerpc/crtbegin.c rm -f crtbegin.c cp $S/pmon/arch/powerpc/crtbegin.c .crtbegin.o: crtbegin.c Makefile ${NORMAL_C_C}crtend.c: $S/pmon/arch/powerpc/crtend.c rm -f crtend.c cp $S/pmon/arch/powerpc/crtend.c .crtend.o: crtend.c Makefile ${NORMAL_C_C}newvers: ${SYSTEM_DEP} ${SYSTEM_SWAP_DEP} sh $S/conf/newvers.sh ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.cclean:: rm -f pmon pmon.* tags *.[io] [a-z]*.s \ linterrs *.corelint: @lint -hbxncez -DGENERIC -Dvolatile= ${CPPFLAGS} -UKGDB \ ${CFILES} \ ioconf.c param.c | \ grep -v 'static function .* unused'tags: @echo "see $S/kern/Makefile for tags"links: egrep '#if' ${CFILES} | sed -f $S/conf/defines | \ sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \ sort -u | comm -23 - dontlink | \ sed 's,../.*/\(.*.o\),rm -f \1; ln -s ../GENERIC/\1 \1,' > makelinks sh makelinks && rm -f dontlinkSRCS= ${TARGET}/Puma/start.S \ param.c ioconf.c ${CFILES} ${SFILES}depend:: .depend.depend: ${SRCS} param.c ${MKDEP} ${AFLAGS} ${CPPFLAGS} ${TARGET}/Puma/start.S ${MKDEP} -a ${CFLAGS} ${CPPFLAGS} param.c ioconf.c ${CFILES}ifneq (${SFILES}, "") ${MKDEP} -a ${AFLAGS} ${CPPFLAGS} ${SFILES}endif# depend on root or device configurationautoconf.o conf.o: Makefile# depend on network or filesystem configurationuipc_proto.o vfs_conf.o: Makefilestart.o: ${TARGET}/Puma/start.S ${NORMAL_S}%RULES
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -