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
MANPLACE := $(OBJROOT)/cc-$(firstword $(TARGETS))-on-$(firstword $(HOSTS))
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
mkdir -p $(gcc_hdr_dir)
mkdir -p $(gcc_hdr_dir)/machine
if [ "$(DO_HDR_SYMLINKS)" = yes ]; then \
mkdir -p $(std_include_dir)/machine && \
rm -f $(std_include_dir)/gcc/darwin/default && \
ln -s $(VERSION) $(std_include_dir)/gcc/darwin/default; \
fi
for file in gcc/ginclude/stdarg.h \
gcc/ginclude/varargs.h \
gcc/ginclude/stdbool.h \
`ls more-hdrs/*.h`; do \
install -c -m 444 $$file $(gcc_hdr_dir) && \
if [ "$(DO_HDR_SYMLINKS)" = yes -a \
"$$file" != "more-hdrs/ppc_intrinsics.h" ]; then \
file1=$${file##*/} && \
rm -f $(std_include_dir)/$$file1 && \
ln -s gcc/darwin/default/$$file1 $(std_include_dir); \
fi \
done
case "${TARGETS}" in \
*i386*) install -c -m 444 gcc/config/i386/*mmintrin.h $(gcc_hdr_dir) ;;\
esac
rm -f /tmp/float.$$$$ && \
more-hdrs/synthesize-float $(SRC) /tmp/float.$$$$ $(RC_RELEASE) && \
install -c -m 444 /tmp/float.$$$$ $(gcc_hdr_dir)/float.h && \
if [ "$(DO_HDR_SYMLINKS)" = yes ]; then \
rm -f $(std_include_dir)/float.h && \
ln -s gcc/darwin/default/float.h $(std_include_dir); \
fi && \
rm -f /tmp/float.$$$$ && \
rm -f /tmp/limits.$$$$ && \
more-hdrs/synthesize-limits $(SRC) /tmp/limits.$$$$ && \
install -c -m 444 /tmp/limits.$$$$ $(gcc_hdr_dir)/machine/limits.h && \
rm -f /tmp/limits.$$$$
if [ "$(DO_HDR_SYMLINKS)" = yes ]; then \
rm -f $(std_include_dir)/machine/limits.h && \
ln -s ../gcc/darwin/default/machine/limits.h $(std_include_dir)/machine; \
fi
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)
mkdir -p $(gcc_man1_dir)
rm -f $(gcc_man1_dir)/g++-$(VERSION).1
rm -f $(gcc_man1_dir)/c++-$(VERSION).1
if [ -f $(MANPLACE)/gcc.1 ] ; then \
install -c -m 444 $(MANPLACE)/gcc.1 \
$(gcc_man1_dir)/gcc-$(VERSION).1 && \
install -c -m 444 $(MANPLACE)/cpp.1 \
$(gcc_man1_dir)/cpp-$(VERSION).1 && \
install -c -m 444 $(MANPLACE)/gcov.1 \
$(gcc_man1_dir)/gcov-$(VERSION).1 ; \
else \
install -c -m 444 man-pages/gcc3.1 \
$(gcc_man1_dir)/gcc-$(VERSION).1 && \
install -c -m 444 man-pages/cpp3.1 \
$(gcc_man1_dir)/cpp-$(VERSION).1 && \
install -c -m 444 man-pages/gcov3.1 \
$(gcc_man1_dir)/gcov-$(VERSION).1 ; \
fi
ln -s gcc-$(VERSION).1 $(gcc_man1_dir)/g++-$(VERSION).1
ln -s gcc-$(VERSION).1 $(gcc_man1_dir)/c++-$(VERSION).1
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