X-Git-Url: http://www.project-moonshot.org/gitweb/?p=moonshot-ui.git;a=blobdiff_plain;f=Makefile.am;h=11b5f48366337eec14a4342e15e97dbab3446205;hp=57ea15489ec8884460c6783cf74be292a400b7a5;hb=HEAD;hpb=e330f7dccaa67bf1e2ccd36a3fa0ba9efba75885 diff --git a/Makefile.am b/Makefile.am index 57ea154..11b5f48 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,78 +1,147 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} - + SUBDIRS = po +moonshotsysconfdir=${sysconfdir}/moonshot lib_LTLIBRARIES = libmoonshot/libmoonshot.la -bin_PROGRAMS = src/moonshot - +bin_PROGRAMS = \ + src/moonshot \ + src/moonshot-webp +pkglibexec_SCRIPTS = moonshot-dbus-launch +dist_pkgdata_DATA = webprovisioning/default-identity.msht +dist_moonshotsysconf_DATA=flatstore-users -AM_CFLAGS = +AM_CFLAGS = -g -O0 -Wall -AM_CPPFLAGS = \ +AM_CPPFLAGS = \ -include config.h \ -DLOCALEDIR=\""$(localedir)"\" \ - -I$(top_srcdir)/libmoonshot + -DMOONSHOT_LAUNCH_SCRIPT='"$(pkglibexecdir)/moonshot-dbus-launch"' \ + -DMOONSHOT_FLATSTORE_USERS='"$(moonshotsysconfdir)/flatstore-users"' \ + -I$(top_srcdir)/libmoonshot \ + -I$(top_builddir)/libmoonshot + + +if LOG4VALA +MOONSHOT_LOG_PKG= --pkg $(LOG4VALA_VERSION) -X -l$(LOG4VALA_VERSION) --define=USE_LOG4VALA +MOONSHOT_LOG_LIBS= -l$(LOG4VALA_VERSION) +else +MOONSHOT_LOG_PKG= +MOONSHOT_LOG_LIBS= +endif -AM_VALAFLAGS = \ - config.vapi \ - --pkg gtk+-2.0 +AM_VALAFLAGS = -g \ + config.vapi \ + --vapidir=$(top_srcdir)/vapi \ + --pkg gio-2.0 \ + $(MOONSHOT_LOG_PKG) libmoonshot_libmoonshot_la_CPPFLAGS = \ $(libmoonshot_CFLAGS) \ - $(AM_CPPFLAGS) + $(AM_CPPFLAGS) libmoonshot_libmoonshot_la_SOURCES = libmoonshot/libmoonshot-common.c libmoonshot_libmoonshot_la_LIBADD = $(libmoonshot_LIBS) +libmoonshot_libmoonshot_la_LDFLAGS = -no-undefined -version-info 1:0:0 +include_HEADERS = libmoonshot/libmoonshot.h +noinst_HEADERS = libmoonshot/libmoonshot-common.h src_moonshot_SOURCES = \ + src/moonshot-identity-manager-app.vala \ + src/moonshot-identity-management-view.vala \ + src/moonshot-local-flat-file-store.vala \ + src/moonshot-keyring-store.vala \ + src/moonshot-idcard-store.vala \ src/moonshot-id.vala \ - src/moonshot-add-dialog.vala \ + src/moonshot-identity-dialog.vala \ src/moonshot-idcard-widget.vala \ src/moonshot-custom-vbox.vala \ src/moonshot-identities-manager.vala \ src/moonshot-identity-request.vala \ - src/moonshot-server.vala \ - src/moonshot-window.vala \ + src/moonshot-server-linux.vala \ + src/moonshot-settings.vala \ src/moonshot-password-dialog.vala \ - src/moonshot-utils.vala + src/moonshot-provisioning-common.vala \ + src/moonshot-trust-anchor-dialog.vala \ + src/moonshot-utils.vala \ + src/moonshot-futils.c \ + src/moonshot-crypto-utils.c \ + src/moonshot-logger.vala \ + src/moonshot-warning-dialog.vala + +src_moonshot_webp_SOURCES = \ + src/moonshot-crypto-utils.c \ + src/moonshot-webp-parser.vala \ + src/moonshot-provisioning-common.vala \ + src/moonshot-id.vala \ + src/moonshot-logger.vala -src_moonshot_LDADD = \ - $(moonshot_LIBS) -src_moonshot_CPPFLAGS = \ - $(moonshot_CFLAGS) \ - $(AM_CPPFLAGS) +src_moonshot_VALAFLAGS = --pkg $(GTK_VERSION) --pkg $(GEE_VERSION) $(AM_VALAFLAGS) +src_moonshot_CPPFLAGS = $(moonshot_CFLAGS) $(AM_CPPFLAGS) +src_moonshot_LDADD = $(moonshot_LIBS) +src_moonshot_LDFLAGS = -g -O0 $(MOONSHOT_LOG_LIBS) +src_moonshot_webp_VALAFLAGS = --vapidir=$(top_srcdir)/libmoonshot --pkg $(GEE_VERSION) --pkg libmoonshot $(AM_VALAFLAGS) +src_moonshot_webp_CPPFLAGS = $(moonshot_CFLAGS) $(AM_CPPFLAGS) +src_moonshot_webp_LDADD = $(moonshot_LIBS) ${top_builddir}/libmoonshot/libmoonshot.la +src_moonshot_webp_LDFLAGS = $(MOONSHOT_LOG_LIBS) if OS_WIN32 -libmoonshot_libmoonshot_la_LDFLAGS = -no-undefined src_moonshot_CFLAGS = -mwindows - +src_moonshot_webp_CFLAGS = -mconsole + AM_CPPFLAGS += -DOS_WIN32 AM_VALAFLAGS += --define=OS_WIN32 noinst_DATA = libmoonshot/libmoonshot.lib +# Build the MSVC lib. The sed hack fixes execution in the case that +# the MSVC toolchain isn't in the PATH. libmoonshot/libmoonshot.lib: libmoonshot/libmoonshot.def - "${MSVC_LIB}" -def:$< -out:$@ -machine:x86 + PATH="$(shell echo "${MSVC_LIB}" | sed -e s,/VC/bin/lib,/Common7/IDE,)":$$PATH "${MSVC_LIB}" -def:$< -out:$@ -machine:x86 endif +if OS_MACOS + +AM_CPPFLAGS += -DOS_MACOS $(MAC_CFLAGS) +AM_VALAFLAGS += --define=OS_MACOS --pkg gtk-mac-integration +moonshot_LIBS += $(MAC_LIBS) +src_moonshot_LDADD += $(MAC_LIBS) +endif + +if OS_LINUX + +AM_CPPFLAGS += -I/usr/include/gnome-keyring-1 +AM_VALAFLAGS += --pkg moonshot-gnome-keyring --define=GNOME_KEYRING +src_moonshot_LDFLAGS += -lgnome-keyring -lcrypto +src_moonshot_webp_LDFLAGS += -lgnome-keyring -lcrypto + +## Installing mime type data +mimedir = $(datadir)/mime/packages +mime_DATA = webprovisioning/moonshot.xml + +## Installing +dotdesktopdir = $(datadir)/applications +dotdesktop_DATA = moonshot.desktop moonshot-webp.desktop + +endif if IPC_MSRPC AM_CPPFLAGS += -Isrc AM_VALAFLAGS += \ - --pkg msrpc-1.0 \ + --pkg moonshot-msrpc --pkg msrpc-1.0 \ --define=IPC_MSRPC BUILT_SOURCES = libmoonshot/moonshot-msrpc.h \ @@ -88,78 +157,101 @@ libmoonshot/moonshot-msrpc_s.c: libmoonshot/moonshot-msrpc.h libmoonshot/moonshot-msrpc_c.c: libmoonshot/moonshot-msrpc.h libmoonshot_libmoonshot_la_SOURCES += \ - libmoonshot/libmoonshot-msrpc.c \ - libmoonshot/moonshot-msrpc_c.c + libmoonshot/libmoonshot-msrpc.c -src_moonshot_SOURCES += \ - src/moonshot-msrpc.vapi nodist_src_moonshot_SOURCES = \ libmoonshot/moonshot-msrpc_s.c +nodist_libmoonshot_libmoonshot_la_SOURCES = \ + libmoonshot/moonshot-msrpc_c.c + endif if IPC_DBUS # DBus service file dbusservicedir = $(datadir)/dbus-1/services +if OS_MACOS +dbusservice_in_files = org.janet.Moonshot.service.mac +dbusservice_DATA = $(dbusservice_in_files:.service.mac=.service) +else dbusservice_in_files = org.janet.Moonshot.service.in dbusservice_DATA = $(dbusservice_in_files:.service.in=.service) +endif # Rule to make the service file with bindir expanded $(dbusservice_DATA): $(dbusservice_in_files) Makefile @sed -e "s|\@bindir\@|$(bindir)|" $< > $@ -AM_VALAFLAGS += \ - --pkg dbus-glib-1 \ - --define=IPC_DBUS - libmoonshot_libmoonshot_la_SOURCES += libmoonshot/libmoonshot-dbus.c -CLEANFILES = $(dbusservice_DATA) -EXTRA_DIST = $(dbusservice_in_files) +CLEANFILES = $(dbusservice_DATA) src_moonshot_vala.stamp src_moonshot_vala.stamp-t +if IPC_DBUS_GLIB +AM_VALAFLAGS += \ + --pkg dbus-glib-1 \ + --define=IPC_DBUS_GLIB \ + --define=IPC_DBUS +AM_CPPFLAGS += -DIPC_DBUS_GLIB +else +AM_VALAFLAGS += \ + --pkg gio-2.0 \ + --define=IPC_GDBUS \ + --define=IPC_DBUS endif - - -bin_PROGRAMS += src/moonshot-webp - -src_moonshot_webp_SOURCES = src/moonshot-webp-parser.vala src/moonshot-id.vala -src_moonshot_webp_CPPFLAGS = $(moonshot_CFLAGS) $(AM_CPPFLAGS) -src_moonshot_webp_LDADD = $(moonshot_LIBS) - -if OS_WIN32 -moonshot_webp_CFLAGS = -mwindows +endif +if GIO_VAPI_USES_ARRAYS +AM_VALAFLAGS += --define=GIO_VAPI_USES_ARRAYS endif +EXTRA_DIST = webprovisioning/moonshot.xml $(dbusservice_in_files) \ + webprovisioning/complex-test.msht webprovisioning/sample.msht \ + README.webprovisioning README.windows \ + moonshot-dbus-launch \ + moonshot-ui.spec \ + vapi/moonshot-gnome-keyring.vapi libmoonshot/libmoonshot.vapi noinst_PROGRAMS = \ examples/client \ + examples/service-selection \ tests/basic +examples_service_selection_SOURCES = examples/service-selection.c +examples_service_selection_CPPFLAGS = $(moonshot_CFLAGS) $(AM_CPPFLAGS) +examples_service_selection_LDADD = ${top_builddir}/libmoonshot/libmoonshot.la $(moonshot_LIBS) + examples_client_SOURCES = examples/client.c examples_client_CPPFLAGS = $(libmoonshot_CFLAGS) $(AM_CPPFLAGS) examples_client_LDADD = ${top_builddir}/libmoonshot/libmoonshot.la tests_basic_SOURCES = tests/basic.c -tests_basic_CPPFLAGS = $(libmoonshot_CFLAGS) $(AM_CPPFLAGS) +tests_basic_CPPFLAGS = $(moonshot_CFLAGS) $(AM_CPPFLAGS) tests_basic_LDADD = ${top_builddir}/libmoonshot/libmoonshot.la $(moonshot_LIBS) +##if OS_LINUX +##install-data-hook: +## "${UPDATE_MIME_DATABASE}" $(datadir)/mime +## "${UPDATE_DESKTOP_DATABASE}" $(datadir)/applications +##uninstall-hook: +## "${UPDATE_MIME_DATABASE}" $(datadir)/mime +## "${UPDATE_DESKTOP_DATABASE}" $(datadir)/applications +##endif if OS_WIN32 ## A couple of Windows-specific targets: ## 1. Icons. You must have gnome-icon-theme and gnome-icon-theme-symbolic installed -## in c:/build prefix; and ImageMagick installed in c:/tools/ImageMagick. This +## in the install prefix; and ImageMagick installed in c:/tools/ImageMagick. This ## pulls in the icons required by moonshot and converts svg's to png's (we have ## no svg support built in to Windows Gtk+ right now). icons: mkdir -p share/icons - cp c:/build/share/icons/gnome/48x48/status/avatar-default.png share/icons - "${IMAGEMAGICK_CONVERT}" -background none c:/build/share/icons/gnome/scalable/actions/edit-clear-symbolic.svg -size 13x13 share/icons/edit-clear-symbolic.png - "${IMAGEMAGICK_CONVERT}" -background none c:/build/share/icons/gnome/scalable/actions/edit-find-symbolic.svg -size 13x13 share/icons/edit-find-symbolic.png + cp ${prefix}/share/icons/gnome/48x48/status/avatar-default.png share/icons + "${IMAGEMAGICK_CONVERT}" -background none ${prefix}/share/icons/gnome/scalable/actions/edit-clear-symbolic.svg -size 13x13 share/icons/edit-clear-symbolic.png + "${IMAGEMAGICK_CONVERT}" -background none ${prefix}/share/icons/gnome/scalable/actions/edit-find-symbolic.svg -size 13x13 share/icons/edit-find-symbolic.png ## 2. Installer. You must have the Windows Installer XML toolkit version 3.5 @@ -170,8 +262,31 @@ icons: installer: moonshot.msi -moonshot.msi: windows/app.wxs +moonshot.msi: windows/app.wxs windows/config.wxi $(bin_PROGRAMS) "${WIX_CANDLE}" $< - "${WIX_LIGHT}" -b c:/build -b c:/tools/mingw -o moonshot.msi app.wixobj + "${WIX_LIGHT}" -b ${prefix} -b ${prefix}/mingw -o moonshot.msi app.wixobj + +endif + +if OS_MACOS +## Mac-specific targets + +## 1. Icons. + +icons: + mkdir -p share/icons + cp mac/icons/process-stop.png share/icons + cp mac/icons/edit-find.png share/icons + cp mac/icons/avatar-default.png share/icons + +## 2. App bundle +## gtk-app-bundler must be installed +## moonshot-ui.app will be built in moonshot/mac-client-installer/moonshot-ui/ +app-bundle: + gtk-mac-bundler ./mac/moonshot-ui.bundle + +## 3: Installer Package + +installerdir = $(HOME)/moonshot/mac-client-installer endif