From 56d5d970eabd2967fd678effa0e0d7c45f00b2eb Mon Sep 17 00:00:00 2001 From: Jonathan Schleifer Date: Tue, 3 Nov 2009 16:55:05 +0100 Subject: [PATCH] Add support for compiling Objective C++. --- buildsys.mk.in | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/buildsys.mk.in b/buildsys.mk.in index 1a4fd98..2474e42 100644 --- a/buildsys.mk.in +++ b/buildsys.mk.in @@ -27,6 +27,7 @@ CPP = @CPP@ DC = @DC@ ERLC = @ERLC@ OBJC = @OBJC@ +OBJCXX = @OBJCXX@ AR = @AR@ LD = ${CC} RANLIB = @RANLIB@ @@ -37,6 +38,7 @@ CPPFLAGS = @CPPFLAGS@ DFLAGS = @DFLAGS@ ERLCFLAGS = @ERLCFLAGS@ OBJCFLAGS = @OBJCFLAGS@ +OBJCXXFLAGS = @OBJCXXFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ PYTHON_FLAGS = @PYTHON_FLAGS@ @@ -79,13 +81,14 @@ OBJS3 = ${OBJS2:.cxx=.o} OBJS4 = ${OBJS3:.d=.o} OBJS5 = ${OBJS4:.erl=.beam} OBJS6 = ${OBJS5:.m=.o} -OBJS7 = ${OBJS6:.py=.pyc} -OBJS8 = ${OBJS7:.xpm=.o} -OBJS += ${OBJS8:.po=.gmo} +OBJS7 = ${OBJS6:.mm=.o} +OBJS8 = ${OBJS7:.py=.pyc} +OBJS9 = ${OBJS8:.xpm=.o} +OBJS += ${OBJS9:.po=.gmo} .SILENT: .SUFFIXES: -.SUFFIXES: .beam .c .cc .cxx .d .dep .erl .gmo .m .o .po .py .pyc .xpm +.SUFFIXES: .beam .c .cc .cxx .d .dep .erl .gmo .m .mm .o .po .py .pyc .xpm .PHONY: all subdirs pre-depend depend install install-extra uninstall uninstall-extra clean distclean all: @@ -122,6 +125,10 @@ depend: pre-depend ${SRCS} test $$i -nt .deps && regen=1; \ deps="$$deps $${i%.m}.dep"; \ ;; \ + *.mm) \ + test $$i -nt .deps && regen=1; \ + deps="$$deps $${i%.mm}.dep"; \ + ;; \ esac; \ done; \ if test x"$$regen" = x"1" -a x"$$deps" != "x"; then \ @@ -136,7 +143,7 @@ depend: pre-depend ${SRCS} fi; \ fi -.c.dep .cc.dep .cxx.dep .m.dep: +.c.dep .cc.dep .cxx.dep .m.dep .mm.dep: ${CPP} ${CPPFLAGS} -M $< >$@ || (rm -f $@; exit 1) .d.dep: @@ -232,6 +239,14 @@ ${STATIC_LIB} ${STATIC_LIB_NOINST}: ${EXT_DEPS} ${OBJS} ${COMPILE_FAILED}; \ fi +.mm.o: + ${COMPILE_STATUS} + if ${OBJCXX} ${OBJCXXFLAGS} ${OBJCFLAGS} ${CXXFLAGS} ${CPPFLAGS} -c -o $@ $<; then \ + ${COMPILE_OK}; \ + else \ + ${COMPILE_FAILED}; \ + fi + .po.gmo: ${COMPILE_STATUS} if ${MSGFMT} -c -o $@ $<; then \