1export SHELL := /bin/sh
2
3##############################################################################
4# Global Constants
5##############################################################################
6
7export OS_VERSION              := $(shell /usr/bin/sw_vers -buildVersion | sed -E 's/[A-Z][0-9]+[A-Za-z]*$$//g')
8export OS_VERSIONS_SUPPORTED   := 11 12 13
9export PERL_VERSIONS_FILE_PATH := /usr/local/versioner/perl/versions
10export PERL_VERSIONS_AVAILABLE := $(sort $(shell grep -v '^DEFAULT = ' $(PERL_VERSIONS_FILE_PATH)))
11
12ifeq ($(OS_VERSION), 13)
13    # 5.16 is manually added to ensure it is included in the list of supported
14    # Perl versions
15    PERL_VERSIONS_AVAILABLE := $(sort 5.16 $(PERL_VERSIONS_AVAILABLE))
16endif
17
18##############################################################################
19# XBS Targets
20##############################################################################
21
22.PHONY: clean
23clean:
24
25.PHONY: install_config
26install_config::
27	@for perl_version in $(PERL_VERSIONS_AVAILABLE); do \
28		export VERSIONER_PERL_VERSION=$$perl_version; \
29		objRootPerl=$(OBJROOT)/$$perl_version; \
30		echo "OBJROOT_PERL: $$objRootPerl"; \
31		$(MAKE) -C Makefiles prepend-to-path OBJROOT_PERL=$$objRootPerl || exit 1; \
32	done;
33
34.PHONY: installsrc
35installsrc::
36	ditto . $(SRCROOT)
37	for name in .DS_Store .git .gitignore .svn CVS; do \
38		find $(SRCROOT) -name $$name -prune -exec rm -rf {} \; ; \
39	done
40
41.PHONY: installhdrs
42installhdrs::
43
44.PHONY: install
45install::
46	@for perl_version in $(PERL_VERSIONS_AVAILABLE); do \
47		export VERSIONER_PERL_VERSION=$$perl_version; \
48		objRootPerl=$(OBJROOT)/$$perl_version; \
49		mkdir -p $$objRootPerl; \
50		if [ "$(SRCROOT)" != "$$objRootPerl" ]; then \
51			ditto $(SRCROOT) $$objRootPerl; \
52		fi; \
53		cd $$objRootPerl && ./applyPatches; \
54		$(MAKE) -C Makefiles OBJROOT_PERL=$$objRootPerl || exit 1; \
55	done;
56