1 #======================================================================
5 # $Id: Makefile.am,v 1.40 2008-01-02 20:07:30 dothebart Exp $
8 # (C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org
10 # This program is free software; you can redistribute it and/or modify
11 # it under the terms of either:
13 # The LGPL as published by the Free Software Foundation, version
14 # 2.1, available at: http://www.fsf.org/copyleft/lesser.html
18 # The Mozilla Public License Version 1.0. You may obtain a copy of
19 # the License at http://www.mozilla.org/MPL/
23 #======================================================================
26 DESIGNDATA = $(top_srcdir)/design-data
27 ICALSCRIPTS = $(top_srcdir)/scripts
30 cxx_lib=libical_cxx.la
31 cxx_headers=vcomponent.h icalparameter_cxx.h icalproperty_cxx.h icalvalue_cxx.h icptrholder.h
37 lib_LTLIBRARIES = libical.la $(cxx_lib)
38 noinst_LTLIBRARIES = libical-static.la
39 libical_static_la_SOURCES = $(libical_la_SOURCES)
40 libical_static_la_LDFLAGS = --all-static
42 AM_CPPFLAGS = -DPACKAGE_DATA_DIR=\""$(datadir)/$(PACKAGE)"\"
49 -I$(top_builddir)/src \
50 -I$(top_srcdir)/src/libical \
51 -I$(top_builddir)/src/libical \
54 libical_la_LDFLAGS = -version-info 48:0:48
57 libical_la_LDFLAGS += -no-undefined
60 libical_la_LIBADD = $(PTHREAD_LIBS)
62 libical_la_SOURCES = \
108 libicals_w32_vsnprintf_replacement.c \
115 libical_cxx_la_SOURCES = \
116 $(libical_la_SOURCES) \
120 icalproperty_cxx.cpp \
121 icalparameter_cxx.h \
122 icalparameter_cxx.cpp \
128 libical_includedir = $(includedir)/libical
130 libical_include_HEADERS = \
135 icalderivedparameter.h \
136 icalderivedproperty.h \
159 # ORDERING OF HEADERS IS SIGNIFICANT. Don't change this ordering. It
160 # is required to make the combined header ical.h properly
162 $(top_builddir)/src/libical/icalversion.h \
163 $(top_srcdir)/src/libical/icaltime.h \
164 $(top_srcdir)/src/libical/icalduration.h \
165 $(top_srcdir)/src/libical/icalperiod.h \
166 $(top_srcdir)/src/libical/icalenums.h \
167 $(top_srcdir)/src/libical/icaltypes.h \
168 $(top_srcdir)/src/libical/icalrecur.h \
169 $(top_srcdir)/src/libical/icalattach.h \
171 icalderivedparameter.h \
172 $(top_srcdir)/src/libical/icalvalue.h \
173 $(top_srcdir)/src/libical/icalparameter.h \
174 icalderivedproperty.h \
175 $(top_srcdir)/src/libical/icalproperty.h \
176 $(top_srcdir)/src/libical/pvl.h \
177 $(top_srcdir)/src/libical/icalarray.h \
178 $(top_srcdir)/src/libical/icalcomponent.h \
179 $(top_srcdir)/src/libical/icaltimezone.h \
180 $(top_srcdir)/src/libical/icalparser.h \
181 $(top_srcdir)/src/libical/icalmemory.h \
183 $(top_srcdir)/src/libical/icalrestriction.h \
184 $(top_srcdir)/src/libical/sspm.h \
185 $(top_srcdir)/src/libical/icalmime.h \
186 $(top_srcdir)/src/libical/icallangbind.h
188 # exporting the configure stuff is probably no good idea.
189 # others use standard defines not in our namespace too.
190 # $(top_builddir)/config.h
192 BUILT_COMBINEDHEADERS = \
193 icalderivedparameter.h \
194 icalderivedproperty.h \
198 $(BUILT_COMBINEDHEADERS)\
199 icalderivedparameter.c \
200 icalderivedproperty.c \
204 ical.h: $(COMBINEDHEADERS)
205 echo '#ifndef LIBICAL_ICAL_H' > ical.h
206 echo '#define LIBICAL_ICAL_H' >> ical.h
207 echo '#ifdef __cplusplus' >> ical.h
208 echo 'extern "C" {' >> ical.h
209 echo '#endif' >> ical.h
211 echo ' $$''Id''$$' >> ical.h
213 cat $(COMBINEDHEADERS) \
214 | egrep -v "#include.*\"ical" \
215 | egrep -v "#include.*\"config" \
216 | egrep -v "#include.*\"pvl\.h\"" \
217 | egrep -v '\$$(Id|Locker): .+\$$'>> ical.h
218 echo '#ifdef __cplusplus' >> ical.h
220 echo '#endif' >> ical.h
221 echo '#endif' >> ical.h
227 $(ICALSCRIPTS)/mkderivedparameters.pl \
228 $(DESIGNDATA)/parameters.csv \
229 icalderivedparameter.c.in \
230 icalderivedparameter.h.in
232 icalderivedparameter.h: $(PARAMETERDEPS)
233 $(PERL) -I $(ICALSCRIPTS) $(ICALSCRIPTS)/mkderivedparameters.pl -i $(srcdir)/icalderivedparameter.h.in -h $(DESIGNDATA)/parameters.csv > icalderivedparameter.h
235 icalderivedparameter.c: $(PARAMETERDEPS) $(BUILT_COMBINEDHEADERS)
236 $(PERL) -I $(ICALSCRIPTS) $(ICALSCRIPTS)/mkderivedparameters.pl -i $(srcdir)/icalderivedparameter.c.in -c $(DESIGNDATA)/parameters.csv > icalderivedparameter.c
241 $(ICALSCRIPTS)/mkderivedproperties.pl \
242 $(DESIGNDATA)/properties.csv \
243 $(DESIGNDATA)/value-types.csv \
244 icalderivedproperty.c.in \
245 icalderivedproperty.h.in
248 icalderivedproperty.h: $(PROPERTYDEPS)
249 $(PERL) -I$(ICALSCRIPTS) $(ICALSCRIPTS)/mkderivedproperties.pl \
250 -i $(srcdir)/icalderivedproperty.h.in -h $(DESIGNDATA)/properties.csv\
251 ${DESIGNDATA}/value-types.csv > icalderivedproperty.h
253 icalderivedproperty.c: $(PROPERTYDEPS) $(BUILT_COMBINEDHEADERS)
254 $(PERL) -I$(ICALSCRIPTS) $(ICALSCRIPTS)/mkderivedproperties.pl \
255 -i $(srcdir)/icalderivedproperty.c.in -c $(DESIGNDATA)/properties.csv \
256 ${DESIGNDATA}/value-types.csv > icalderivedproperty.c
261 $(ICALSCRIPTS)/mkrestrictiontable.pl \
262 $(DESIGNDATA)/restrictions.csv \
265 icalrestriction.c: $(RESTRICTIONDEPS)
266 $(PERL) $(ICALSCRIPTS)/mkrestrictiontable.pl -i $(srcdir)/icalrestriction.c.in \
267 $(DESIGNDATA)/restrictions.csv > icalrestriction.c
272 $(ICALSCRIPTS)/mkderivedvalues.pl \
273 $(DESIGNDATA)/value-types.csv \
274 icalderivedvalue.c.in \
275 icalderivedvalue.h.in
277 icalderivedvalue.h: $(VALUEDEPS)
278 $(PERL) -I$(ICALSCRIPTS) $(ICALSCRIPTS)/mkderivedvalues.pl \
279 -i $(srcdir)/icalderivedvalue.h.in -h $(DESIGNDATA)/value-types.csv > icalderivedvalue.h
281 icalderivedvalue.c: $(VALUEDEPS) $(BUILT_COMBINEDHEADERS)
282 $(PERL) -I$(ICALSCRIPTS) $(ICALSCRIPTS)/mkderivedvalues.pl \
283 -i $(srcdir)/icalderivedvalue.c.in -c $(DESIGNDATA)/value-types.csv > icalderivedvalue.c
285 # c++ needs ical.h auto-generated.
286 icalparameter_cxx.lo: ical.h
287 icalproperty_cxx.lo: ical.h
288 icalvalue_cxx.lo: ical.h
289 vcomponent.lo: ical.h
293 CONFIG_CLEAN_FILES = y.output
295 CLEANFILES = $(BUILT_SOURCES) $(BUILT_COMBINEDHEADERS)
298 cd $(distdir); rm -f $(BUILT_SOURCES)
299 cd $(distdir); rm -f ical.h icalversion.h
302 icalderivedparameter.c.in \
303 icalderivedparameter.h.in \
304 icalderivedproperty.c.in \
305 icalderivedproperty.h.in \
306 icalrestriction.c.in \
307 icalderivedvalue.c.in \
308 icalderivedvalue.h.in \
311 $(srcdir)/icalcomponent.c: icalderivedvalue.h icalderivedproperty.h icalderivedparameter.h
312 icalderivedparameter.c: icalderivedvalue.h icalderivedproperty.h icalderivedparameter.h
313 icalderivedproperty.c: icalderivedvalue.h icalderivedproperty.h icalderivedparameter.h
314 icalderivedvalue.c: icalderivedvalue.h icalderivedproperty.h icalderivedparameter.h
315 $(srcdir)/icalduration.c: icalderivedvalue.h icalderivedproperty.h icalderivedparameter.h
316 $(srcdir)/icallangbind.c: icalderivedvalue.h icalderivedproperty.h icalderivedparameter.h
317 $(srcdir)/icalmime.c: icalderivedvalue.h icalderivedproperty.h icalderivedparameter.h
318 $(srcdir)/icalparameter.c: icalderivedvalue.h icalderivedproperty.h icalderivedparameter.h
319 $(srcdir)/icalparser.c: icalderivedvalue.h icalderivedproperty.h icalderivedparameter.h
320 $(srcdir)/icalproperty.c: icalderivedvalue.h icalderivedproperty.h icalderivedparameter.h
321 icalrestriction.c: icalderivedvalue.h icalderivedproperty.h icalderivedparameter.h
322 $(srcdir)/icaltime.c: icalderivedvalue.h icalderivedproperty.h icalderivedparameter.h
323 $(srcdir)/icalvalue.c: icalderivedvalue.h icalderivedproperty.h icalderivedparameter.h