📄 makefile
字号:
## @(#)Makefile 1.1 92/07/30 SMI#m-sun2 = sun2m-sun3 = sun3m-sun4 = sun4ARCH = $(m$(TARGET_ARCH))m-mc68010 = m68km-mc68020 = m68km-sparc = sparcm-sunrise = sparcMACH = $(m$(TARGET_MACH))CC= /bin/cc -${MACH}AS= as -${MACH}RM= rm -fDESTDIR= /SYSDIR= ../..LIBDIR= ../libMONDIR= ../monLIBSA= ${LIBDIR}/${ARCH}/libsa.aLIBXX= ${LIBDIR}/libxx.aSRT0= ../${ARCH}/srt0.oLINTOBJ= ${LIBDIR}/llib-lsa.ln.PRECIOUS: ${LIBSA} ${LIBXX}CPPDEFS= -DVAC -D${ARCH} "-Dprintf=(*romp->v_printf)" "-Dputchar=(*romp->v_putchar)"CPPOPTS= ${CPPDEFS} -I${LIBDIR}/common -I${SYSDIR}/${ARCH} -I${SYSDIR}COPTS= -OCFLAGS= ${COPTS} ${CPPOPTS}LDIR= /usr/lib/lintLINT1= ${LDIR}/lint1LCOPTS= -C -Dlint ${CPPOPTS} -DLOAD=0x${LOAD} LOPTS= -hxb -nLTAIL= egrep -v 'struct/union .* never defined' | \ egrep -v 'possible pointer alignment problem' ; true# BRELOC is text segment start for final stage (2nd or 3rd stage) boots# Note that this must be higher than the kernel's edata and should be# higher than the kernel's bss so the bss can be clearedBRELOC=1a0000# LOAD is text segment start for booted user programsLOAD=4000PROGS= tpboot SUN2PROGS= ${PROGS} SUN3PROGS= ${PROGS} SUN4PROGS= ${PROGS}ALL= archdepall: ${ALL}archdep: @case ${ARCH} in \ sun2) ${MAKE} ${MFLAGS} ${SUN2PROGS};;\ sun3) ${MAKE} ${MFLAGS} ${SUN3PROGS};;\ sun4) sed -e 's/bs=32/bs=64/' \ -e 's/BRELOC=120000/BRELOC=200000/' Makefile > Makefile.sun4;\ ${MAKE} -e ${MFLAGS} -f Makefile.sun4 ${SUN4PROGS};;\ esac# Standalone, generic boot program -- get it from anywhere, it will# boot anything. "tpboot" has the a.out header stripped off so you# can write it on the first file of a tape.sboot: tpboot.o readfile.o ${LIBSA} ${SRT0} ld -N -e _start -T ${BRELOC} -o $@ ${SRT0} tpboot.o readfile.o ${LIBSA} -lctpboot: sboot cp sboot a.out strip a.out; dd if=a.out of=$@ ibs=32 skip=1; ${RM} a.outreadfile.o: readfile.c ${CC} -c ${CFLAGS} -DLOAD=0x${LOAD} readfile.ctpboot.o: boot.c ${CC} -c -o $@ ${CFLAGS} -DJUSTASK boot.cconfxy.o: confxx.c ${CC} -c -o ${LIBDIR}/${ARCH}/$@ ${CFLAGS} -Dxxdriver=xydriver confxx.cconfip.o: confxx.c ${CC} -c -o $@ ${CFLAGS} -Dxxdriver=ipdriver confxx.cconfsd.o: confxx.c ${CC} -c -o ${LIBDIR}/${ARCH}/$@ ${CFLAGS} -Dxxdriver=sddriver confxx.cconfpr.o: confpr.c ${CC} -c -o ${LIBDIR}/${ARCH}/$@ ${CFLAGS} -Dxxdriver=sddriver confpr.cconfxd.o: confxx.c ${CC} -c -o ${LIBDIR}/${ARCH}/$@ ${CFLAGS} -Dxxdriver=xddriver confxx.c${SRT0}: FRC cd ../${ARCH}; ${MAKE} ${MFLAGS} $(@F)${LIBSA} ${LIBXX}: FRC cd ${LIBDIR}; ${MAKE} ${MFLAGS} $(@F)# utilitiesdepend: @echo 'making dependencies ...' @${RM} depend.tmp @for i in *.c; do \ (${CC} -M ${CPPOPTS} $$i >> depend.tmp); done @awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \ else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \ else rec = rec " " $$2 } } \ END { print rec } ' <depend.tmp > makedep @echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >eddep @echo '$$r makedep' >>eddep @echo 'w' >>eddep @if [ -w Makefile ]; then \ ed - Makefile < eddep; \ else \ chmod +w Makefile; \ ed - Makefile < eddep; \ chmod -w Makefile; \ fi @${RM} eddep makedep depend.tmp @echo '... done'clean: ${RM} ${SUN2PROGS} ${SUN3PROGS} ${SUN4PROGS} ${RM} *.o *.exe *.ln *.c core a.out sboot${LINTOBJ}: cd ${LIBDIR}; ${MAKE} ${MFLAGS} lintlint: ${LINTOBJ} boot.c readfile.c @${RM} lint.ln @-(for i in readfile.c ; do \ ${CC} -E ${LCOPTS} $$i | \ ${LINT1} ${LOPTS} >> lint.ln; done ) 2>&1 | ${LTAIL} lint -Dlint ${CPPOPTS} ${LOPTS} boot.c lint.ln ${LINTOBJ} | ${LTAIL} @${RM} lint.lninstall_h:FRC:install: ${ALL}# DO NOT DELETE THIS LINE -- make depend uses it
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -