summaryrefslogtreecommitdiff
path: root/Makefile
blob: 3b812aa675651c89e795edda478e6372c5907e78 (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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# **********************************************************************
#
# Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
#
# This copy of Ice is licensed to you under the terms described in the
# ICE_LICENSE file included in this distribution.
#
# **********************************************************************

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
#
install:: install-doc install-slice

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

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

#
# Create a symlink for the slice directory. We skip this step on macOS
#
ifneq ($(usr_dir_install),)
ifeq ($(filter Darwin,$(os)),)

install-slice:: $(DESTDIR)$(prefix)/share/slice

$(DESTDIR)$(prefix)/share/slice:
	$(Q)$(MKDIR) -p $(DESTDIR)$(prefix)/share
	$(Q)ln -s ice/slice $(DESTDIR)$(prefix)/share/slice
endif
endif

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