#!/usr/bin/make -f BASE_VERSION = $$(printf '%s\n' '$(OPK_SOURCE)' | sed 's/^gcc-//') COMMON_OPTS = \ --with-pkgversion='GCC for ProteanOS' \ --program-suffix="-$(BASE_VERSION)" \ --enable-linker-build-id \ --with-system-zlib \ --disable-multilib \ --without-included-gettext \ --with-nls \ --with-sysroot="$${OPK_SYSROOT:-/}" \ --enable-clocale=gnu FULL_OPTS = \ $(COMMON_OPTS) \ --enable-shared \ --enable-threads=posix \ --enable-languages=c,c++ BOOTSTRAP1_OPTS = \ $(COMMON_OPTS) \ --without-headers \ --with-newlib \ --disable-shared \ --disable-threads \ --enable-languages=c,c++ \ --disable-libgomp \ --disable-libmudflap \ --disable-libssp nop: @: configure: if [ 'x$(OPK_HOST_PLAT)' = 'xbootstrap1' ]; then \ oh-autoconfigure -B gcc-build -- \ $(BOOTSTRAP1_OPTS); \ else \ oh-autoconfigure -B gcc-build -- \ $(FULL_OPTS); \ fi touch $@ build: configure # TODO: This should be done in the source target. for f in \ gcc/doc/gcc.texi gcc/doc/invoke.texi gcc/doc/gcov.texi \ gcc/doc/include/funding.texi gcc/doc/gccint.texi \ libgomp/libgomp.texi; do \ >src/$${f}; \ done oh-autobuild -B gcc-build -T bootstrap-lean -- -j $${JOBS:-1} \ libsubdir=/usr/lib/$(OPK_HOST_ARCH)/gcc-$(BASE_VERSION) \ libexecsubdir=/usr/lib/$(OPK_HOST_ARCH)/gcc-$(BASE_VERSION) \ toolexeclibdir=/usr/lib/$(OPK_HOST_ARCH) MULTIOSDIR= touch $@ install: build # The -T option is necessary because otherwise: # * oh-autoinstall checks for an "install" target by running make with # the -n option, # * Many commands in GCC makefiles contain the "$(MAKE)" macro # expansion, and # * GNU Make executes any commands that contain "$(MAKE)", even if -n # is specified. # See also: . # TODO: Replace $(OPK_HOST_ARCH) with the target arch. oh-autoinstall -B gcc-build -T install -- \ libsubdir=/usr/lib/$(OPK_HOST_ARCH)/gcc-$(BASE_VERSION) \ libexecsubdir=/usr/lib/$(OPK_HOST_ARCH)/gcc-$(BASE_VERSION) \ toolexeclibdir=/usr/lib/$(OPK_HOST_ARCH) MULTIOSDIR= rm -f dest/usr/lib/$(OPK_HOST_ARCH)/libiberty.a # POSIX.1-2008: # If the pathname does not begin with a '/' it shall be treated as relative to # the current working directory of the process, not relative to the directory # containing the makefile. include ../source.mk