Updated Slovenian translation
[banshee.git] / build / build.rules.mk
blob348e7cdb4ade5117f5c450fdb61083c8f6458029
1 UNIQUE_FILTER_PIPE = tr [:space:] \\n | sort | uniq
2 BUILD_DATA_DIR = $(top_builddir)/bin/share/$(PACKAGE)
4 SOURCES_BUILD = $(addprefix $(srcdir)/, $(SOURCES))
5 SOURCES_BUILD += $(top_srcdir)/src/AssemblyInfo.cs
7 RESOURCES_EXPANDED = $(addprefix $(srcdir)/, $(RESOURCES))
8 RESOURCES_BUILD = $(foreach resource, $(RESOURCES_EXPANDED), \
9 -resource:$(resource),$(notdir $(resource)))
11 INSTALL_ICONS = $(top_srcdir)/build/private-icon-theme-installer "$(mkinstalldirs)" "$(INSTALL_DATA)"
12 THEME_ICONS_SOURCE = $(wildcard $(srcdir)/ThemeIcons/*/*/*.png) $(wildcard $(srcdir)/ThemeIcons/scalable/*/*.svg)
13 THEME_ICONS_RELATIVE = $(subst $(srcdir)/ThemeIcons/, , $(THEME_ICONS_SOURCE))
15 ASSEMBLY_EXTENSION = $(strip $(patsubst library, dll, $(TARGET)))
16 ASSEMBLY_FILE = $(top_builddir)/bin/$(ASSEMBLY).$(ASSEMBLY_EXTENSION)
18 INSTALL_DIR_RESOLVED = $(firstword $(subst , $(DEFAULT_INSTALL_DIR), $(INSTALL_DIR)))
20 if ENABLE_TESTS
21 LINK += " $(NUNIT_LIBS)"
22 ENABLE_TESTS_FLAG = "-define:ENABLE_TESTS"
23 endif
25 FILTERED_LINK = $(shell echo "$(LINK)" | $(UNIQUE_FILTER_PIPE))
26 DEP_LINK = $(shell echo "$(LINK)" | $(UNIQUE_FILTER_PIPE) | sed s,-r:,,g | grep '$(top_builddir)/bin/')
28 OUTPUT_FILES = \
29 $(ASSEMBLY_FILE) \
30 $(ASSEMBLY_FILE).mdb
32 moduledir = $(INSTALL_DIR_RESOLVED)
33 module_SCRIPTS = $(OUTPUT_FILES)
35 all: $(ASSEMBLY_FILE) theme-icons
37 run:
38 @pushd $(top_builddir); \
39 make run; \
40 popd;
42 test:
43 @pushd $(top_builddir)/tests; \
44 make $(ASSEMBLY); \
45 popd;
47 build-debug:
48 @echo $(DEP_LINK)
50 $(ASSEMBLY_FILE).mdb: $(ASSEMBLY_FILE)
52 $(ASSEMBLY_FILE): $(SOURCES_BUILD) $(RESOURCES_EXPANDED) $(DEP_LINK)
53 @mkdir -p $(top_builddir)/bin
54 @if [ ! "x$(ENABLE_RELEASE)" = "xyes" ]; then \
55 $(top_srcdir)/build/dll-map-makefile-verifier $(srcdir)/Makefile.am $(srcdir)/$(notdir $@.config) && \
56 $(MONO) $(top_builddir)/build/dll-map-verifier.exe $(srcdir)/$(notdir $@.config) -iwinmm -ilibbanshee -ilibbnpx11 -ilibc -ilibc.so.6 -iintl -ilibmtp.dll -ilibigemacintegration.dylib -iCFRelease $(SOURCES_BUILD); \
57 fi;
58 $(MCS) \
59 $(GMCS_FLAGS) \
60 $(ASSEMBLY_BUILD_FLAGS) \
61 -nowarn:0278 -nowarn:0078 $$warn \
62 -debug -target:$(TARGET) -out:$@ \
63 $(BUILD_DEFINES) $(ENABLE_TESTS_FLAG) \
64 $(FILTERED_LINK) $(RESOURCES_BUILD) $(SOURCES_BUILD)
65 @if [ -e $(srcdir)/$(notdir $@.config) ]; then \
66 cp $(srcdir)/$(notdir $@.config) $(top_builddir)/bin; \
67 fi;
68 @if [ ! -z "$(EXTRA_BUNDLE)" ]; then \
69 cp $(EXTRA_BUNDLE) $(top_builddir)/bin; \
70 fi;
72 theme-icons: $(THEME_ICONS_SOURCE)
73 @$(INSTALL_ICONS) -il "$(BUILD_DATA_DIR)" "$(srcdir)" $(THEME_ICONS_RELATIVE)
75 install-data-hook: $(THEME_ICONS_SOURCE)
76 @$(INSTALL_ICONS) -i "$(DESTDIR)$(pkgdatadir)" "$(srcdir)" $(THEME_ICONS_RELATIVE)
77 $(EXTRA_INSTALL_DATA_HOOK)
79 uninstall-hook: $(THEME_ICONS_SOURCE)
80 @$(INSTALL_ICONS) -u "$(DESTDIR)$(pkgdatadir)" "$(srcdir)" $(THEME_ICONS_RELATIVE)
81 $(EXTRA_UNINSTALL_HOOK)
83 EXTRA_DIST = $(SOURCES_BUILD) $(RESOURCES_EXPANDED) $(THEME_ICONS_SOURCE)
85 CLEANFILES = $(OUTPUT_FILES)
86 DISTCLEANFILES = *.pidb
87 MAINTAINERCLEANFILES = Makefile.in