Add support for compiling Objective C++.

This commit is contained in:
Jonathan Schleifer 2009-11-03 16:55:05 +01:00
parent eb246ffc1f
commit 56d5d970ea

View file

@ -27,6 +27,7 @@ CPP = @CPP@
DC = @DC@ DC = @DC@
ERLC = @ERLC@ ERLC = @ERLC@
OBJC = @OBJC@ OBJC = @OBJC@
OBJCXX = @OBJCXX@
AR = @AR@ AR = @AR@
LD = ${CC} LD = ${CC}
RANLIB = @RANLIB@ RANLIB = @RANLIB@
@ -37,6 +38,7 @@ CPPFLAGS = @CPPFLAGS@
DFLAGS = @DFLAGS@ DFLAGS = @DFLAGS@
ERLCFLAGS = @ERLCFLAGS@ ERLCFLAGS = @ERLCFLAGS@
OBJCFLAGS = @OBJCFLAGS@ OBJCFLAGS = @OBJCFLAGS@
OBJCXXFLAGS = @OBJCXXFLAGS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBS = @LIBS@ LIBS = @LIBS@
PYTHON_FLAGS = @PYTHON_FLAGS@ PYTHON_FLAGS = @PYTHON_FLAGS@
@ -79,13 +81,14 @@ OBJS3 = ${OBJS2:.cxx=.o}
OBJS4 = ${OBJS3:.d=.o} OBJS4 = ${OBJS3:.d=.o}
OBJS5 = ${OBJS4:.erl=.beam} OBJS5 = ${OBJS4:.erl=.beam}
OBJS6 = ${OBJS5:.m=.o} OBJS6 = ${OBJS5:.m=.o}
OBJS7 = ${OBJS6:.py=.pyc} OBJS7 = ${OBJS6:.mm=.o}
OBJS8 = ${OBJS7:.xpm=.o} OBJS8 = ${OBJS7:.py=.pyc}
OBJS += ${OBJS8:.po=.gmo} OBJS9 = ${OBJS8:.xpm=.o}
OBJS += ${OBJS9:.po=.gmo}
.SILENT: .SILENT:
.SUFFIXES: .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 .PHONY: all subdirs pre-depend depend install install-extra uninstall uninstall-extra clean distclean
all: all:
@ -122,6 +125,10 @@ depend: pre-depend ${SRCS}
test $$i -nt .deps && regen=1; \ test $$i -nt .deps && regen=1; \
deps="$$deps $${i%.m}.dep"; \ deps="$$deps $${i%.m}.dep"; \
;; \ ;; \
*.mm) \
test $$i -nt .deps && regen=1; \
deps="$$deps $${i%.mm}.dep"; \
;; \
esac; \ esac; \
done; \ done; \
if test x"$$regen" = x"1" -a x"$$deps" != "x"; then \ if test x"$$regen" = x"1" -a x"$$deps" != "x"; then \
@ -136,7 +143,7 @@ depend: pre-depend ${SRCS}
fi; \ fi; \
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) ${CPP} ${CPPFLAGS} -M $< >$@ || (rm -f $@; exit 1)
.d.dep: .d.dep:
@ -232,6 +239,14 @@ ${STATIC_LIB} ${STATIC_LIB_NOINST}: ${EXT_DEPS} ${OBJS}
${COMPILE_FAILED}; \ ${COMPILE_FAILED}; \
fi fi
.mm.o:
${COMPILE_STATUS}
if ${OBJCXX} ${OBJCXXFLAGS} ${OBJCFLAGS} ${CXXFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
${COMPILE_OK}; \
else \
${COMPILE_FAILED}; \
fi
.po.gmo: .po.gmo:
${COMPILE_STATUS} ${COMPILE_STATUS}
if ${MSGFMT} -c -o $@ $<; then \ if ${MSGFMT} -c -o $@ $<; then \