buildsys  Check-in [47afbbecd1]

Overview
Comment:Add support for compiling Objective C++.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 47afbbecd18b3067a66506e091d8573494ecdab6f3dc398d534015aef5da2b94
User & Date: js on 2009-11-03 15:55:05
Other Links: manifest | tags
Context
2009-11-09
19:36
Don't use -install_name anymore, it's better to use rpath instead. check-in: 32f2d909a6 user: js tags: trunk
2009-11-03
15:55
Add support for compiling Objective C++. check-in: 47afbbecd1 user: js tags: trunk
2009-10-28
18:49
Add support for converting .po files to .gmo. check-in: 05ae2271b7 user: js tags: trunk
Changes

Modified buildsys.mk.in from [8abafdece3] to [3c382115c4].

23
24
25
26
27
28
29

30
31
32
33
34
35
36
37
38
39

40
41
42
43
44
45
46
PACKAGE = @PACKAGE@
CC = @CC@
CXX = @CXX@
CPP = @CPP@
DC = @DC@
ERLC = @ERLC@
OBJC = @OBJC@

AR = @AR@
LD = ${CC}
RANLIB = @RANLIB@
PYTHON = @PYTHON@
CFLAGS = @CFLAGS@
CXXFLAGS = @CXXFLAGS@
CPPFLAGS = @CPPFLAGS@
DFLAGS = @DFLAGS@
ERLCFLAGS = @ERLCFLAGS@
OBJCFLAGS = @OBJCFLAGS@

LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
PYTHON_FLAGS = @PYTHON_FLAGS@
PROG_IMPLIB_NEEDED = @PROG_IMPLIB_NEEDED@
PROG_IMPLIB_LDFLAGS = @PROG_IMPLIB_LDFLAGS@
PROG_SUFFIX = @EXEEXT@
LIB_CPPFLAGS = @LIB_CPPFLAGS@







>










>







23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
PACKAGE = @PACKAGE@
CC = @CC@
CXX = @CXX@
CPP = @CPP@
DC = @DC@
ERLC = @ERLC@
OBJC = @OBJC@
OBJCXX = @OBJCXX@
AR = @AR@
LD = ${CC}
RANLIB = @RANLIB@
PYTHON = @PYTHON@
CFLAGS = @CFLAGS@
CXXFLAGS = @CXXFLAGS@
CPPFLAGS = @CPPFLAGS@
DFLAGS = @DFLAGS@
ERLCFLAGS = @ERLCFLAGS@
OBJCFLAGS = @OBJCFLAGS@
OBJCXXFLAGS = @OBJCXXFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
PYTHON_FLAGS = @PYTHON_FLAGS@
PROG_IMPLIB_NEEDED = @PROG_IMPLIB_NEEDED@
PROG_IMPLIB_LDFLAGS = @PROG_IMPLIB_LDFLAGS@
PROG_SUFFIX = @EXEEXT@
LIB_CPPFLAGS = @LIB_CPPFLAGS@
75
76
77
78
79
80
81
82
83

84
85
86
87
88
89
90
91
92
93
94
95

OBJS1 = ${SRCS:.c=.o}
OBJS2 = ${OBJS1:.cc=.o}
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}

.SILENT:
.SUFFIXES:
.SUFFIXES: .beam .c .cc .cxx .d .dep .erl .gmo .m .o .po .py .pyc .xpm
.PHONY: all subdirs pre-depend depend install install-extra uninstall uninstall-extra clean distclean

all:
	for i in subdirs depend ${STATIC_LIB} ${STATIC_LIB_NOINST} ${LIB} ${LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${PROG} ${PROG_NOINST}; do \
		${MAKE} ${MFLAGS} $$i || exit 1; \
	done








|
|
>
|



|







77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98

OBJS1 = ${SRCS:.c=.o}
OBJS2 = ${OBJS1:.cc=.o}
OBJS3 = ${OBJS2:.cxx=.o}
OBJS4 = ${OBJS3:.d=.o}
OBJS5 = ${OBJS4:.erl=.beam}
OBJS6 = ${OBJS5:.m=.o}
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 .mm .o .po .py .pyc .xpm
.PHONY: all subdirs pre-depend depend install install-extra uninstall uninstall-extra clean distclean

all:
	for i in subdirs depend ${STATIC_LIB} ${STATIC_LIB_NOINST} ${LIB} ${LIB_NOINST} ${PLUGIN} ${PLUGIN_NOINST} ${PROG} ${PROG_NOINST}; do \
		${MAKE} ${MFLAGS} $$i || exit 1; \
	done

118
119
120
121
122
123
124




125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
				test $$i -nt .deps && regen=1; \
				deps="$$deps $${i%.cxx}.dep"; \
				;; \
			*.m) \
				test $$i -nt .deps && regen=1; \
				deps="$$deps $${i%.m}.dep"; \
				;; \




		esac; \
	done; \
	if test x"$$regen" = x"1" -a x"$$deps" != "x"; then \
		${DEPEND_STATUS}; \
		if ${MAKE} ${MFLAGS} $$deps && cat $$deps >.deps; then \
			rm -f $$deps; \
			${DEPEND_OK}; \
		else \
			:> .deps; \
			touch -t 0001010000 .deps; \
			${DEPEND_FAILED}; \
		fi; \
	fi

.c.dep .cc.dep .cxx.dep .m.dep:
	${CPP} ${CPPFLAGS} -M $< >$@ || (rm -f $@; exit 1)

.d.dep:
.xpm.dep:

pre-depend:








>
>
>
>














|







121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
				test $$i -nt .deps && regen=1; \
				deps="$$deps $${i%.cxx}.dep"; \
				;; \
			*.m) \
				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 \
		${DEPEND_STATUS}; \
		if ${MAKE} ${MFLAGS} $$deps && cat $$deps >.deps; then \
			rm -f $$deps; \
			${DEPEND_OK}; \
		else \
			:> .deps; \
			touch -t 0001010000 .deps; \
			${DEPEND_FAILED}; \
		fi; \
	fi

.c.dep .cc.dep .cxx.dep .m.dep .mm.dep:
	${CPP} ${CPPFLAGS} -M $< >$@ || (rm -f $@; exit 1)

.d.dep:
.xpm.dep:

pre-depend:

224
225
226
227
228
229
230








231
232
233
234
235
236
237
		${COMPILE_FAILED}; \
	fi

.m.o:
	${COMPILE_STATUS}
	if ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
		${COMPILE_OK}; \








	else \
		${COMPILE_FAILED}; \
	fi

.po.gmo:
	${COMPILE_STATUS}
	if ${MSGFMT} -c -o $@ $<; then \







>
>
>
>
>
>
>
>







231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
		${COMPILE_FAILED}; \
	fi

.m.o:
	${COMPILE_STATUS}
	if ${OBJC} ${OBJCFLAGS} ${CPPFLAGS} -c -o $@ $<; then \
		${COMPILE_OK}; \
	else \
		${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 \