ifndef CoreOSMakefiles
CoreOSMakefiles = $(MAKEFILEPATH)/CoreOS
endif
include $(CoreOSMakefiles)/Standard/Standard.make
USE_APPLE_PB_SUPPORT = all
HOSTS = ppc i386 targets = echo $${TARGETS:-'ppc i386'}
TARGETS := $(shell $(targets))
RC_ARCHS = $(HOSTS)
SRCROOT = .
SRC = `cd $(SRCROOT) && pwd | sed s,/private,,`
OBJROOT = $(SRC)/obj
SYMROOT = $(OBJROOT)/../sym
DSTROOT = $(OBJROOT)/../dst
BOOTSTRAP = --bootstrap
ENABLE_CHECKING=
ifeq ($(ENABLE_CHECKING),)
ENABLE_CHECKING1 = --disable-checking
else
ifeq ($(ENABLE_CHECKING),--disable-checking)
ENABLE_CHECKING1 = --disable-checking
else
ENABLE_CHECKING1 = --enable-checking
endif
endif
VERSION =`fgrep version_string < $(SRCROOT)/gcc/version.c | \
sed -e 's/.*\"\([^ \"]*\)[ \"].*/\1/'`
ARCH = `arch`
PREFIX = /usr
std_include_dir = $(DSTROOT)/usr/include
gcc_hdr_dir = $(std_include_dir)/gcc/darwin/$(VERSION)
gcc_man1_dir = $(DSTROOT)/usr/share/man/man1
DO_SYMLINKS = no
DO_HDR_SYMLINKS = no
OPTIMIZE =
install: installhdrs build install_no_src
@echo
@echo ++++++++++++++
@echo + Installing +
@echo ++++++++++++++
@echo
if [ "$(DO_SYMLINKS)" = yes ]; then \
cd $(DSTROOT)/usr/libexec/gcc/darwin && \
for dir in *; do \
cd $(DSTROOT)/usr/libexec/gcc/darwin/$$dir && \
rm -f default && \
ln -s $(VERSION) default; \
done && \
cd $(DSTROOT)/usr/lib/gcc/darwin && \
rm -f default && \
ln -s $(VERSION) default; \
fi
installhdrs: DSTROOT
@echo
@echo ++++++++++++++++++++++
@echo + Installing headers +
@echo ++++++++++++++++++++++
@echo
@echo +++ gccfast installs no headers +++
@echo
build: OBJROOT SYMROOT
@echo
@echo +++++++++
@echo + build +
@echo +++++++++
@echo
APPLE_CC=`if echo $(SRCROOT) | grep '[0-9]$$' >/dev/null; then \
vers_string -f cc 2>/dev/null | sed -e 's/[-A-Za-z_]*//' \
| sed -e 's/\.[0-9.]*//'; \
else date +%Y%m%d%H%M%S; \
fi`; \
export APPLE_CC; \
./build_gcc --thins \
--srcroot=$(SRC) \
--dstroot=$(DSTROOT) \
--objroot=$(OBJROOT) \
--symroot=$(SYMROOT) \
--cflags="$(RC_CFLAGS) $(OTHER_CFLAGS) -g" \
--hosts="$(RC_ARCHS)" \
--targets="$(TARGETS)" \
--prefix="$(PREFIX)" \
--symlinks=$(DO_SYMLINKS) \
--optimize="$(OPTIMIZE)" \
$(ENABLE_CHECKING1) \
$(BOOTSTRAP)
install_no_src:
@echo
@echo ++++++++++++++++++
@echo + install_no_src +
@echo ++++++++++++++++++
@echo
APPLE_CC=`if echo $(SRCROOT) | grep '[0-9]$$' >/dev/null; then \
vers_string -f cc 2>/dev/null | sed -e 's/[-A-Za-z_]*//' \
| sed -e 's/\.[0-9.]*//'; \
else date +%Y%m%d%H%M%S; \
fi`; \
export APPLE_CC; \
./build_gcc --fats \
--srcroot=$(SRC) \
--dstroot=$(DSTROOT) \
--objroot=$(OBJROOT) \
--symroot=$(SYMROOT) \
--cflags="$(RC_CFLAGS) $(OTHER_CFLAGS)" \
--hosts="$(RC_ARCHS)" \
--targets="$(TARGETS)" \
--prefix="$(PREFIX)" \
--symlinks=$(DO_SYMLINKS)
rm -rf $(DSTROOT)/usr/include/gcc/darwin/$(VERSION)
ln -s 3.3 $(DSTROOT)/usr/include/gcc/darwin/$(VERSION)
rm -rf $(DSTROOT)/usr/include/gcc/darwin/3.3
mkdir -p $(DSTROOT)/usr/include/gcc/darwin/3.3
rm -rf $(DSTROOT)/usr/lib/gcc/darwin/$(VERSION)
ln -s 3.3 $(DSTROOT)/usr/lib/gcc/darwin/$(VERSION)
rm -rf $(DSTROOT)/usr/lib/gcc/darwin/3.3
mkdir -p $(DSTROOT)/usr/lib/gcc/darwin/3.3
if echo $(TARGETS) | fgrep "i386" >/dev/null ; then \
rm -rf $(DSTROOT)/usr/libexec/gcc/darwin/i386/$(VERSION) ;\
ln -s 3.3 $(DSTROOT)/usr/libexec/gcc/darwin/i386/$(VERSION) ;\
rm -rf $(DSTROOT)/usr/libexec/gcc/darwin/i386/3.3 ;\
mkdir -p $(DSTROOT)/usr/libexec/gcc/darwin/i386/3.3 ;\
install -s -m a+rx $(DSTROOT)/usr/bin/gcc-$(VERSION) $(DSTROOT)/usr/libexec/gcc/darwin/i386/$(VERSION)/driver ;\
fi
install -s -m a+rx $(DSTROOT)/usr/bin/gcc-$(VERSION) $(DSTROOT)/usr/libexec/gcc/darwin/ppc/$(VERSION)/driver
install -m a+rx $(SYMROOT)/ppc/usr/bin/gcc-$(VERSION) $(SYMROOT)/ppc/lib/ppc/driver
if [ -d $(SYMROOT)/i386/usr/bin/gcc-$(VERSION) ] ; then \
install -m a+rx $(SYMROOT)/i386/usr/bin/gcc-$(VERSION) $(SYMROOT)/i386/lib/i386/driver ; \
fi
rm -rf $(DSTROOT)/Developer
rm -rf $(DSTROOT)/usr/bin
rm -rf $(DSTROOT)/usr/libexec/gcc/darwin/i386/3.3/cc1*
rm -rf $(DSTROOT)/usr/libexec/gcc/darwin/i386/3.3/cpp
rm -rf $(DSTROOT)/usr/libexec/gcc/darwin/i386/3.3/gcov
rm -rf $(DSTROOT)/usr/libexec/gcc/darwin/i386/3.3/specs
installsrc: SRCROOT
@echo
@echo ++++++++++++++++++++++
@echo + Installing sources +
@echo ++++++++++++++++++++++
@echo
if [ $(SRCROOT) != . ]; then \
$(PAX) -rw . $(SRCROOT); \
fi
find -d "$(SRCROOT)" \( -type d -a -name CVS -o \
-type f -a -name .DS_Store \) \
-exec rm -rf {} \;
clean:
@echo
@echo ++++++++++++
@echo + Cleaning +
@echo ++++++++++++
@echo
@if [ -d $(OBJROOT) -a "$(OBJROOT)" != / ]; then \
echo '*** DELETING ' $(OBJROOT); \
rm -rf $(OBJROOT); \
fi
@if [ -d $(SYMROOT) -a "$(SYMROOT)" != / ]; then \
echo '*** DELETING ' $(SYMROOT); \
rm -rf $(SYMROOT); \
fi
@if [ -d $(DSTROOT) -a "$(DSTROOT)" != / ]; then \
echo '*** DELETING ' $(DSTROOT); \
rm -rf $(DSTROOT); \
fi
OBJROOT SYMROOT DSTROOT KEYMGR_OBJ:
mkdir -p $($@)
SRCROOT:
@if [ -n "$($@)" ]; \
then \
exit 0; \
else \
echo Must define $@; \
exit 1; \
fi