1# $FreeBSD$ 2 3GCCDIR= ${.CURDIR}/../../../contrib/gcc.295 4 5.if ${MACHINE_ARCH} == "alpha" 6.PATH: ${GCCDIR}/config/alpha 7SRCS= crtbegin.s crtend.s 8UGLYHACK= -x assembler 9.else 10.PATH: ${GCCDIR} 11SRCS= crtstuff.c tm.h 12.endif 13 14OBJS= crtbegin.o crtend.o 15SOBJS= crtbegin.So crtend.So 16CFLAGS+= -I${GCCDIR}/config -I. -DIN_GCC \ 17 -finhibit-size-directive -fno-inline-functions \ 18 -fno-exceptions -fno-omit-frame-pointer 19NOMAN= true 20NOPIC= true 21NOPROFILE= true 22INTERNALLIB= true 23CLEANFILES+= tm.h 24 25CRTS_CFLAGS= -DCRTSTUFFS_O ${PICFLAG} 26 27all: ${OBJS} ${SOBJS} 28 29.if ${MACHINE_ARCH} == "alpha" 30crtbegin.o crtbegin.So: crtbegin.s 31crtend.o crtend.So: crtend.s 32.for PART in begin end 33CLEANFILES+= crt${PART}.s 34crt${PART}.s: crt${PART}.asm 35 ln -sf ${.ALLSRC} ${.TARGET} 36.endfor 37.else 38crtbegin.o crtbegin.So crtend.o crtend.So: crtstuff.c tm.h 39.endif 40 41crtbegin.o: 42 ${CC} ${CFLAGS} -g0 -DCRT_BEGIN \ 43 -c -o ${.TARGET} ${UGLYHACK} ${.ALLSRC:N*.h} 44 45crtbegin.So: 46 ${CC} ${CFLAGS} -g0 -DCRT_BEGIN ${CRTS_CFLAGS} \ 47 -c -o ${.TARGET} ${UGLYHACK} ${.ALLSRC:N*.h} 48 49crtend.o: 50 ${CC} ${CFLAGS} -g0 -DCRT_END \ 51 -c -o ${.TARGET} ${UGLYHACK} ${.ALLSRC:N*.h} 52 53crtend.So: 54 ${CC} ${CFLAGS} -g0 -DCRT_END ${CRTS_CFLAGS} \ 55 -c -o ${.TARGET} ${UGLYHACK} ${.ALLSRC:N*.h} 56 57# KEEP THIS IN SYNC with src/gnu/usr.bin/cc/cc_tools/Makefile !! 58tm.h: 59 echo '#include "${MACHINE_ARCH}/${MACHINE_ARCH}.h"' > ${.TARGET} 60.if ${MACHINE_ARCH} == "i386" 61 echo '#include "${MACHINE_ARCH}/att.h"' >> ${.TARGET} 62.endif 63 echo '#include <freebsd.h>' >> ${.TARGET} 64 echo '#include "${MACHINE_ARCH}/freebsd.h"' >> ${.TARGET} 65.if ${MACHINE_ARCH} == "i386" 66 echo '#include "${MACHINE_ARCH}/perform.h"' >> ${.TARGET} 67.endif 68 69realinstall: 70.for file in ${OBJS} ${SOBJS} 71 ${INSTALL} ${COPY} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ 72 ${file} ${DESTDIR}${LIBDIR}/${file:S/.So$/S.o/} 73.endfor 74 75.include <bsd.lib.mk> 76