Home | History | Annotate | Line # | Download | only in libobjc
      1  1.17       mrg #	$NetBSD: Makefile,v 1.17 2023/08/01 05:57:56 mrg Exp $
      2   1.1       mrg 
      3   1.1       mrg REQUIRETOOLS=	yes
      4   1.1       mrg NOLINT=		# defined
      5   1.1       mrg 
      6   1.1       mrg UNSUPPORTED_COMPILER.clang=	# defined
      7   1.1       mrg 
      8  1.13       mrg .include <bsd.init.mk>
      9   1.1       mrg 
     10   1.1       mrg LIB=		objc
     11   1.7      matt GCC_MACHINE_ARCH?=	${MACHINE_ARCH:S/earmv5/earm/}
     12   1.1       mrg 
     13   1.1       mrg .if ${MKGCC} != "no"
     14   1.1       mrg 
     15  1.10       mrg SHLIB_MAJOR=	4
     16   1.1       mrg SHLIB_MINOR=	0
     17   1.1       mrg 
     18   1.1       mrg # XXX just while all platforms defs.mk are updated..
     19   1.7      matt .if exists(${.CURDIR}/arch/${GCC_MACHINE_ARCH}/defs.mk)
     20   1.1       mrg # Machine-dependent definitions (include file names).
     21   1.7      matt .include "${.CURDIR}/arch/${GCC_MACHINE_ARCH}/defs.mk"
     22   1.1       mrg EXTRA_FAKEHEADERS=
     23   1.1       mrg .else
     24   1.1       mrg # Machine-independent definitions (include file names).
     25   1.1       mrg .include "${.CURDIR}/defs.mk"
     26   1.6       mrg EXTRA_FAKEHEADERS=
     27   1.1       mrg .endif
     28   1.1       mrg 
     29   1.2       mrg LIBGCCOBJ!=    cd ${.CURDIR}/../libgcc/libgcc && ${PRINTOBJDIR}
     30   1.1       mrg 
     31  1.13       mrg DIST=		${GCCDIST}
     32  1.13       mrg GNUHOSTDIST=	${DIST}
     33  1.13       mrg GCCARCH=	${GCC_SUBDIR}/usr.bin/gcc/arch/${GCC_MACHINE_ARCH}
     34  1.13       mrg LIBOBJCARCH=	${GCC_SUBDIR}/lib/libobjc/arch/${GCC_MACHINE_ARCH}
     35  1.13       mrg GCCLIBXX=	${GCC_SUBDIR}/lib/libstdc++-v3/arch/${GCC_MACHINE_ARCH}
     36   1.1       mrg 
     37  1.10       mrg SRCS=		${G_OBJC_SOURCE_FILES} ${G_C_SOURCE_FILES}
     38   1.1       mrg 
     39   1.1       mrg GCPPFLAGS=	${G_ALL_CFLAGS} ${G_INCLUDES}
     40   1.7      matt CPPFLAGS+=	-I. -I${.CURDIR}/arch/${GCC_MACHINE_ARCH}
     41   1.1       mrg CPPFLAGS+=	-I${GCCARCH} ${GCPPFLAGS:M-D*} ${GCPPFLAGS:M-I*:N-I.*}
     42   1.1       mrg CPPFLAGS+=	-I${GCCLIBXX}
     43  1.10       mrg CPPFLAGS+=	-I${DIST}/libobjc/objc-private
     44   1.1       mrg 
     45   1.7      matt BUILDSYMLINKS=	${.CURDIR}/../libstdc++-v3/arch/${GCC_MACHINE_ARCH} bits
     46   1.1       mrg DPSRCS+=	bits
     47   1.1       mrg 
     48   1.1       mrg .for f in Protocol.m Object.m NXConstStr.m linking.m
     49   1.1       mrg OBJCOPTS.${f}=	-fgnu-runtime
     50   1.1       mrg .endfor
     51   1.1       mrg 
     52   1.1       mrg .for f in thr.c thr-objc.c
     53   1.1       mrg COPTS.${f}=	-Wno-missing-noreturn
     54   1.1       mrg .endfor
     55   1.1       mrg 
     56   1.1       mrg COPTS+=		-fno-strict-aliasing -fexceptions
     57   1.1       mrg OBJCOPTS+=	-fno-strict-aliasing -fexceptions
     58   1.1       mrg 
     59   1.1       mrg OBJCOPTS.Object.m = -Wno-stack-protector
     60   1.1       mrg COPTS.sendmsg.c = -Wno-stack-protector
     61  1.11  christos COPTS.objc-act.c = -Wno-stack-protector
     62   1.1       mrg 
     63   1.1       mrg INCS=		${G_OBJC_H}
     64   1.1       mrg INCSDIR=	/usr/include/objc
     65   1.1       mrg 
     66   1.1       mrg DPSRCS+=	runtime-info.h
     67   1.1       mrg CLEANFILES+=	rtscratch rtscratch.s runtime-info.h
     68   1.1       mrg runtime-info.h:
     69   1.1       mrg 	${_MKTARGET_CREATE}
     70   1.1       mrg 	touch rtscratch
     71   1.1       mrg 	`${OBJC} --print-prog-name=cc1obj` -print-objc-runtime-info rtscratch >$@
     72   1.1       mrg 
     73   1.1       mrg ${OBJS} ${POBJS} ${SOBJS}: runtime-info.h
     74   1.1       mrg 
     75  1.10       mrg ${SRCS}: tconfig.h options.h
     76   1.1       mrg 
     77  1.16       mrg .include "../Makefile.gthr"
     78   1.3       mrg .include "../Makefile.tconfigh"
     79   1.4       mrg .include "../Makefile.hacks"
     80   1.1       mrg 
     81   1.1       mrg # XXX just while all platforms defs.mk are updated..
     82   1.7      matt .if exists(${.CURDIR}/arch/${GCC_MACHINE_ARCH}/defs.mk)
     83   1.1       mrg optionlist: ${G_ALL_OPT_FILES} ${LIBOBJCARCH}/defs.mk Makefile ${DIST}/gcc/opt-gather.awk
     84   1.1       mrg 	${TOOL_AWK} -f ${DIST}/gcc/opt-gather.awk ${G_ALL_OPT_FILES} \
     85   1.1       mrg 		> ${.TARGET}
     86   1.1       mrg 
     87  1.10       mrg .if ${MACHINE_ARCH} == "vax" || ${MACHINE_ARCH} == "mipseb"
     88  1.10       mrg OPTION_FLAGS=-v header_name="config.h system.h coretypes.h options.h tm.h" \
     89  1.10       mrg 	-f ${DIST}/gcc/opt-read.awk
     90  1.10       mrg OPTION_DEPS=${DIST}/gcc/opt-read.awk
     91  1.10       mrg .endif
     92  1.10       mrg 
     93  1.10       mrg options.h: optionlist ${DIST}/gcc/opt-functions.awk ${DIST}/gcc/opth-gen.awk \
     94  1.10       mrg 	${OPTION_DEPS}
     95   1.1       mrg 	${TOOL_AWK} -f ${DIST}/gcc/opt-functions.awk \
     96  1.10       mrg 		-f ${DIST}/gcc/opth-gen.awk ${OPTION_FLAGS} \
     97   1.1       mrg 		< optionlist > ${.TARGET}
     98   1.1       mrg 
     99   1.1       mrg CLEANFILES+=	options.h optionlist
    100   1.1       mrg .endif
    101   1.1       mrg 
    102   1.5       mrg .include <bsd.lib.mk>
    103   1.5       mrg 
    104  1.13       mrg .PATH: ${DIST}/libobjc ${DIST}/libobjc/objc ${DIST}/libobjc/objc-private
    105  1.13       mrg 
    106  1.14       mrg # XXX insn-modes.h
    107  1.14       mrg BINBACKENDOBJ!=	cd ${.CURDIR}/../../usr.bin/backend && ${PRINTOBJDIR}
    108  1.14       mrg CPPFLAGS+=	-I${BINBACKENDOBJ}
    109  1.14       mrg 
    110   1.1       mrg .else
    111   1.1       mrg .include <bsd.prog.mk>	# do nothing
    112   1.1       mrg .endif
    113   1.2       mrg 
    114   1.2       mrg COPTS.archive.c+=	-Wno-error
    115   1.2       mrg COPTS.sendmsg.c+=	-Wno-error
    116  1.15  christos COPTS.encoding.c+=	-Wno-pointer-arith	# sizeof(void)
    117  1.15  christos COPTS+=			-Wno-missing-prototypes
    118  1.17       mrg 
    119  1.17       mrg # XXXGCC12
    120  1.17       mrg OBJCOPTS.Object.m+=	-Wno-error=objc-root-class
    121