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 PERL_VERSIONS_FILE_PATH := /usr/local/versioner/perl/versions
9PERL_VERSIONS_FILE_PATH := $(or $(join $(SDKROOT),$(PERL_VERSIONS_FILE_PATH)),$(PERL_VERSIONS_FILE_PATH))
10
11export PERL_VERSIONS_AVAILABLE := $(sort $(shell grep -v '^DEFAULT = ' $(PERL_VERSIONS_FILE_PATH)))
12
13# Allow CPANInternal to build on Mac OS X versions greater than 13.
14#ifeq ($(shell /bin/test $(OS_VERSION) -gt 13; echo $$?), 0)
15#    OS_VERSION := 13
16#endif
17
18ifeq ($(OS_VERSION), 14)
19    # 5.18 is manually added to ensure it is included in the list of supported
20    # Perl versions
21    PERL_VERSIONS_AVAILABLE := $(sort 5.18 $(PERL_VERSIONS_AVAILABLE))
22endif
23
24##############################################################################
25# XBS Targets
26##############################################################################
27
28.PHONY: clean
29clean:
30
31.PHONY: install_config
32install_config::
33	@for perl_version in $(PERL_VERSIONS_AVAILABLE); do \
34		export VERSIONER_PERL_VERSION=$$perl_version; \
35		objRootPerl=$(OBJROOT)/$$perl_version; \
36		echo "OBJROOT_PERL: $$objRootPerl"; \
37		$(MAKE) -C Makefiles prepend-to-path OBJROOT_PERL=$$objRootPerl || exit 1; \
38	done;
39
40.PHONY: installsrc
41installsrc::
42	ditto . $(SRCROOT)
43	for name in .DS_Store .git .gitignore .svn CVS; do \
44		find $(SRCROOT) -name $$name -prune -exec rm -rf {} \; ; \
45	done
46
47.PHONY: installhdrs
48installhdrs::
49
50.PHONY: install
51install::
52	@for perl_version in $(PERL_VERSIONS_AVAILABLE); do \
53		export VERSIONER_PERL_VERSION=$$perl_version; \
54		objRootPerl=$(OBJROOT)/$$perl_version; \
55		mkdir -p $$objRootPerl; \
56		if [ "$(SRCROOT)" != "$$objRootPerl" ]; then \
57			ditto $(SRCROOT) $$objRootPerl; \
58		fi; \
59		cd $$objRootPerl && ./applyPatches; \
60		$(MAKE) -C Makefiles OBJROOT_PERL=$$objRootPerl || exit 1; \
61	done;
62