NetBSD/gnu/lib/libobjc/Makefile

102 lines
2.3 KiB
Makefile

# $NetBSD: Makefile,v 1.14 2001/10/31 16:27:32 tv Exp $
REQUIRETOOLS= yes
.include <bsd.own.mk>
LIB= objc
MKLINT= no
.if defined(USE_NEW_TOOLCHAIN)
SHLIB_MAJOR= 1
SHLIB_MINOR= 0
# Machine-independent definitions (include file names).
.include "${.CURDIR}/defs.mk"
# Machine-dependent definitions (object files, -Ds).
.include "${.CURDIR}/${MACHINE_ARCH}.mk"
TOP= ${.CURDIR}/../..
DIST= ${TOP}/dist/toolchain
GCCARCH= ${TOP}/usr.bin/gcc/arch/${MACHINE_ARCH}
SRCS= ${G_OBJS:N[A-Z]*:Nlinking.o:.o=.c} ${G_OBJS:M[A-Z]*:.o=.m} linking.m
GCPPFLAGS= ${G_ALL_CFLAGS} ${G_INCLUDES}
CPPFLAGS+= -I. -I${GCCARCH} ${GCPPFLAGS:M-D*} ${GCPPFLAGS:M-I*:N-I.*}
INCS= ${G_OBJC_H}
INCSDIR= /usr/include/objc
DPSRCS+= runtime-info.h
CLEANFILES+= rtscratch rtscratch.s
runtime-info.h:
@touch rtscratch
`${OBJC} --print-prog-name=cc1obj` -print-objc-runtime-info rtscratch >$@
.PATH: ${DIST}/libobjc ${DIST}/libobjc/objc
.include <bsd.lib.mk>
${OBJS}: ${.CURDIR}/${MACHINE_ARCH}.mk runtime-info.h
.else
#
# XXX - BEGIN - Old toolchain build goop - delete when everything migrated - XXX
#
HAVE_GCC28!= ${CXX} --version | egrep "^(2\.8|egcs)" ; echo
.if (${HAVE_GCC28} != "")
SHLIB_MAJOR= 0
SHLIB_MINOR= 0
SRCS= hash.c sarray.c class.c sendmsg.c init.c archive.c \
encoding.c selector.c objects.c misc.c NXConstStr.m \
Object.m Protocol.m nil_method.c thr.c linking.m \
thr-single.c
DPSRCS+= runtime-info.h
INCS= hash.h objc-list.h sarray.h objc.h objc-api.h NXConstStr.h \
Object.h Protocol.h encoding.h typedstream.h thr.h
INCSDIR= /usr/include/objc
DIST= ${.CURDIR}/../../dist/gcc
ARCH= ${.CURDIR}/../../usr.bin/egcs/arch
.if exists(${ARCH}/${MACHINE_ARCH})
ARCHSUBDIR= ${MACHINE_ARCH}
.elif exists(${ARCH}/${MACHINE_CPU})
ARCHSUBDIR= ${MACHINE_CPU}
.else
.BEGIN:
@echo no egcs/arch/${MACHINE_ARCH} nor egcs/arch/${MACHINE_CPU} exists
@false
.endif
CPPFLAGS+= -I. -I${ARCH}/${ARCHSUBDIR} -I${ARCH} \
-I${DIST}/config -I${DIST}
CLEANFILES+= rtscratch rtscratch.s
runtime-info.h:
@touch rtscratch
`${OBJC} --print-prog-name=cc1obj` -print-objc-runtime-info rtscratch >$@
sendmsg.o sendmsg.so sendmsg.po: runtime-info.h
.PATH: ${DIST}/objc
.include <bsd.lib.mk>
.else
# XXX Temporary: during an egcs bootstrap, don't try to build with gcc 2.7
${TARGETS}:
.endif
#
# XXX - END - Old toolchain build goop - delete when everything migrated - XXX
#
.endif