Home | History | Annotate | Download | only in avahi-gobject
      1 # This file is part of avahi.
      2 #
      3 # avahi is free software; you can redistribute it and/or modify it
      4 # under the terms of the GNU Lesser General Public License as
      5 # published by the Free Software Foundation; either version 2 of the
      6 # License, or (at your option) any later version.
      7 #
      8 # avahi is distributed in the hope that it will be useful, but WITHOUT
      9 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
     10 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
     11 # License for more details.
     12 #
     13 # You should have received a copy of the GNU Lesser General Public
     14 # License along with avahi; if not, write to the Free Software
     15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
     16 # USA.
     17 
     18 AM_CFLAGS=-I$(top_srcdir)
     19 
     20 # This cool debug trap works on i386/gcc only
     21 AM_CFLAGS+='-DDEBUG_TRAP=__asm__("int $$3")'
     22 
     23 EXTRA_DIST = \
     24 	AvahiCore-0.6.gir
     25 
     26 if HAVE_GOBJECT
     27 if HAVE_DBUS
     28 
     29 avahigobjectincludedir=$(includedir)/avahi-gobject
     30 
     31 avahigobjectinclude_HEADERS = \
     32 	ga-client.h \
     33 	ga-entry-group.h \
     34 	ga-enums.h \
     35 	ga-error.h \
     36 	ga-record-browser.h \
     37 	ga-service-browser.h \
     38 	ga-service-resolver.h
     39 
     40 lib_LTLIBRARIES = \
     41 	libavahi-gobject.la
     42 
     43 BUILT_SOURCES = \
     44 	signals-marshal.list \
     45 	signals-marshal.h \
     46 	signals-marshal.c \
     47 	ga-client-enumtypes.h \
     48 	ga-client-enumtypes.c  \
     49 	ga-entry-group-enumtypes.h \
     50 	ga-entry-group-enumtypes.c  \
     51 	ga-enums-enumtypes.h \
     52 	ga-enums-enumtypes.c
     53 
     54 CORE_SOURCES = \
     55 	ga-client.c ga-client.h \
     56 	ga-entry-group.c ga-entry-group.h \
     57 	ga-enums.h \
     58 	ga-error.c ga-error.h \
     59 	ga-record-browser.c ga-record-browser.h \
     60 	ga-service-browser.c ga-service-browser.h \
     61 	ga-service-resolver.c ga-service-resolver.h
     62 
     63 libavahi_gobject_la_SOURCES = \
     64 	$(CORE_SOURCES) \
     65 	$(BUILT_SOURCES)
     66 
     67 libavahi_gobject_la_CFLAGS = $(AM_CFLAGS) $(GOBJECT_CFLAGS)
     68 libavahi_gobject_la_LIBADD = $(AM_LDADD) ../avahi-common/libavahi-common.la ../avahi-client/libavahi-client.la ../avahi-glib/libavahi-glib.la $(GOBJECT_LIBS)
     69 libavahi_gobject_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LIBAVAHI_GOBJECT_VERSION_INFO) -export-symbols-regex '^ga_'
     70 
     71 # correctly clean the generated source files
     72 CLEANFILES = $(BUILT_SOURCES)
     73 
     74 dist-hook:
     75 	$(shell for x in $(BUILT_SOURCES); do rm -f $(distdir)/$$x ; done)
     76 
     77 signals-marshal.list: $(CORE_SOURCES) Makefile.am
     78 	$(AM_V_GEN)( cd $(srcdir) && \
     79 	sed -n -e 's/.*_ga_signals_marshal_\([A-Z]*__[A-Z_]*\).*/\1/p' \
     80 		$(CORE_SOURCES) ) \
     81 		| sed -e 's/__/:/' -e 'y/_/,/' | sort -u > $@.tmp && \
     82 	if cmp -s $@.tmp $@; then \
     83 		rm $@.tmp; \
     84 	else \
     85 		mv $@.tmp $@; \
     86 	fi
     87 
     88 signals-marshal.h: signals-marshal.list
     89 	$(AM_V_GEN)glib-genmarshal --header --prefix=_ga_signals_marshal $< > $@
     90 
     91 signals-marshal.c: signals-marshal.list
     92 	$(AM_V_GEN)(echo "#include \"signals-marshal.h\"" ; glib-genmarshal --body --prefix=_ga_signals_marshal $< ) > $@
     93 
     94 # rules for making the glib enum objects
     95 %-enumtypes.h: %.h Makefile.in
     96 	$(AM_V_GEN)glib-mkenums \
     97 	--fhead "#ifndef __$(shell echo $* | tr [:lower:]- [:upper:]_)_ENUM_TYPES_H__\n#define __$(shell echo $* | tr [:lower:]- [:upper:]_)_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
     98 	--fprod "/* enumerations from \"@filename@\" */\n" \
     99 	--vhead "GType @enum_name@_get_type (void);\n#define $(shell echo $* | tr [:lower:]- [:upper:]_ | sed 's/_.*//')_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n"         \
    100 	--ftail "G_END_DECLS\n\n#endif /* __$(shell echo $* | tr [:lower:]- [:upper:]_)_ENUM_TYPES_H__ */" \
    101 	$< > $@
    102 
    103 %-enumtypes.c: %.h Makefile.in
    104 	$(AM_V_GEN)glib-mkenums \
    105 	--fhead "#include <$*.h>\n#include<$*-enumtypes.h>" \
    106 	--fprod "\n/* enumerations from \"@filename@\" */" \
    107 	--vhead "GType\n@enum_name@_get_type (void)\n{\n  static GType etype = 0;\n  if (etype == 0) {\n    static const G@Type@Value values[] = {"     \
    108 	--vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@VALUENAME@\" }," \
    109 	--vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (\"@EnumName@\", values);\n  }\n  return etype;\n}\n" \
    110 	$< > $@
    111 
    112 -include $(INTROSPECTION_MAKEFILE)
    113 INTROSPECTION_GIRS =
    114 INTROSPECTION_SCANNER_ARGS = --add-include-path=$(srcdir)
    115 INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
    116 
    117 if HAVE_INTROSPECTION
    118 introspection_sources = $(libavahi_gobject_la_SOURCES)
    119 
    120 Avahi-0.6.gir: $(lib_LTLIBRARIES)
    121 Avahi_0_6_gir_INCLUDES = GObject-2.0 AvahiCore-0.6
    122 Avahi_0_6_gir_CFLAGS = $(libavahi_gobject_la_CFLAGS)
    123 Avahi_0_6_gir_LIBS = $(lib_LTLIBRARIES)
    124 Avahi_0_6_gir_FILES = $(addprefix $(srcdir)/, $(CORE_SOURCES)) $(BUILT_SOURCES)
    125 Avahi_0_6_gir_SCANNERFLAGS = --strip-prefix=Ga
    126 INTROSPECTION_GIRS += Avahi-0.6.gir
    127 INTROSPECTION_INSTALL_GIRS = AvahiCore-0.6.gir $(INTROSPECTION_GIRS)
    128 
    129 girdir = $(datadir)/gir-1.0
    130 gir_DATA = $(INTROSPECTION_INSTALL_GIRS)
    131 
    132 typelibdir = $(libdir)/girepository-1.0
    133 typelib_DATA = $(INTROSPECTION_INSTALL_GIRS:.gir=.typelib)
    134 
    135 CLEANFILES += $(INTROSPECTION_GIRS) $(typelib_DATA)
    136 endif
    137 
    138 endif
    139 endif
    140 
    141 indent:
    142 	indent -brf -nbbo -nbc -ip0 -cs -nbfde -npsl -br -brs -bap -i4 -bs -cdw -ce -npcs -hnl -cli4 -nut -ci8 ga-*.[ch]
    143 
    144 Android.mk: Makefile.am $(BUILT_SOURCES)
    145 	androgenizer -:PROJECT avahi -:SHARED avahi-gobject -:TAGS eng debug \
    146 	 -:REL_TOP $(top_srcdir) -:ABS_TOP $(abs_top_srcdir) \
    147 	 -:SOURCES $(libavahi_gobject_la_SOURCES) \
    148 	 -:CFLAGS $(DEFS) $(CFLAGS) $(DEFAULT_INCLUDES) $(INCLUDES) \
    149 	  $(libavahi_gobject_la_CFLAGS) \
    150 	 -:CPPFLAGS $(CPPFLAGS) $(AM_CPPFLAGS)\
    151 	 -:LDFLAGS $(libavahi_gobject_la_LIBADD) $(libavahi_gobject_la_LDFLAGS) \
    152 	> $@
    153