summaryrefslogtreecommitdiff
path: root/Makefile
blob: 3fb13e90c8b9d59ef7cd394d599ec7fbb8713e7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#
# Copyright (c) ZeroC, Inc. All rights reserved.
#

top_srcdir := .

include $(top_srcdir)/config/Make.rules

define make-global-rule
$1::
	+@for subdir in $2; \
	do \
		echo "making all in $$$$subdir"; \
		( cd $$$$subdir && $(MAKE) $1 ) || exit 1; \
	done
endef

$(eval $(call make-global-rule,srcs,$(languages)))
$(eval $(call make-global-rule,tests,$(languages)))
$(eval $(call make-global-rule,all,$(languages)))
$(eval $(call make-global-rule,clean,$(languages)))
$(eval $(call make-global-rule,distclean,$(languages)))
$(eval $(call make-global-rule,install,$(languages)))

#
# Install documentation and slice files (don't install IceDiscovery and IceLocatorDiscovery slice files)
#
install:: install-doc install-slice

$(eval $(call install-data-files,$(wildcard $(top_srcdir)/*LICENSE),$(top_srcdir),$(install_docdir),\
         install-doc,"Installing documentation files"))

$(eval $(call install-data-files,$(filter-out %Discovery.ice,$(wildcard $(slicedir)/*/*.ice)),$(slicedir),$(install_slicedir),\
         install-slice,"Installing slice files"))

#
# Remove top-level sdk directory on macOS
#
ifneq ($(filter Darwin,$(os)),)
distclean::
	$(Q)$(RM) -r $(top_srcdir)/sdk
endif