1# 2# makefile for architecture project. 3# 4 5# Defaults typically set by build system 6 7DEFAULT_ARCHS = i386 8 9RC_ARCHS ?= $(DEFAULT_ARCHS) 10 11SDKROOT ?= / 12 13# map x86_64 -> i386 14SUPPORTED_ARCHS = i386 15CANONICAL_ARCH_x86_64 = i386 16 17 18ARCHS = $(filter $(SUPPORTED_ARCHS),$(sort $(foreach x,$(RC_ARCHS),$(if $(CANONICAL_ARCH_$(x)),$(CANONICAL_ARCH_$(x)),$(x))))) 19 20 21 22# install machine-independent and per-arch headers 23DIRS = . $(ARCHS) 24 25ifeq ($(RC_ProjectName),architecture_Sim) 26 include $(MAKEFILEPATH)/../AppleInternal/Makefiles/Makefile.indigo_prefix 27 HEADER_INSTALL_PREFIX = $(INDIGO_PREFIX) 28else 29 HEADER_INSTALL_PREFIX = 30endif 31 32EXPORT_DSTDIR=$(HEADER_INSTALL_PREFIX)/usr/include/architecture 33LOCAL_DSTDIR=$(HEADER_INSTALL_PREFIX)/System/Library/Frameworks/System.framework/Versions/B/PrivateHeaders/architecture 34 35INSTALL = /usr/bin/install 36INSTALL_FLAGS= -p -m 444 37MKDIRS = /bin/mkdir -p 38 39all: 40 41install: all installhdrs 42 43copyhdrs: all DSTROOT $(DSTROOT)$(LOCAL_DSTDIR) \ 44 $(DSTROOT)$(EXPORT_DSTDIR) 45 for i in ${DIRS}; \ 46 do \ 47 DSTDIR=$(DSTROOT)$(LOCAL_DSTDIR)/$$i; \ 48 (cd $$i; \ 49 $(MKDIRS) $$DSTDIR; \ 50 echo Installing *.h; \ 51 install $(INSTALL_FLAGS) *.h $$DSTDIR); \ 52 done 53 for i in ${DIRS}; \ 54 do \ 55 DSTDIR=$(DSTROOT)$(EXPORT_DSTDIR)/$$i; \ 56 (cd $$i; \ 57 $(MKDIRS) $$DSTDIR; \ 58 echo Installing *.h; \ 59 install $(INSTALL_FLAGS) *.h $$DSTDIR); \ 60 done 61 62installhdrs: copyhdrs 63 64 65 66.PHONY: clean 67 68clean: 69 rm -f *~ */*~ 70 rm -rf exports 71 72installsrc: SRCROOT $(SRCROOT) 73 pax -rw . ${SRCROOT} 74 75 76$(SRCROOT) $(DSTROOT)$(EXPORT_DSTDIR) $(DSTROOT)$(LOCAL_DSTDIR): 77 $(MKDIRS) $@ 78 79.PHONY: SRCROOT DSTROOT 80 81SRCROOT DSTROOT: 82 if [ -n "${$@}" ]; \ 83 then \ 84 exit 0; \ 85 else \ 86 echo Must define $@; \ 87 exit 1; \ 88 fi 89