Intercept vfprintf() instead of printf() (XCC)
[akaros.git] / tools / compilers / gcc-glibc / Makefile
index f545dc0..7f7857a 100644 (file)
@@ -1,5 +1,5 @@
 # Number of make jobs to spawn.  Define it in Makelocal
-MAKE_JOBS :=
+MAKE_JOBS ?= $(shell expr `cat /proc/cpuinfo | grep processor | wc -l` - 1)
 
 BINUTILS_VERSION := 2.24
 GCC_VERSION := 4.9.2
@@ -135,6 +135,31 @@ define BUILD_ERROR
 endef
 BUILD_ERRORS := $(call add_error, $(BUILD_ERROR))
 endif
+
+GPPEXISTS := $(shell which g++ > /dev/null 2>&1 ; echo $$?)
+ifneq ($(GPPEXISTS),0)
+define BUILD_ERROR
+    You need to have 'g++' installed on your system before proceeding!"
+endef
+BUILD_ERRORS := $(call add_error, $(BUILD_ERROR))
+endif
+
+FLEXEXISTS := $(shell which flex > /dev/null 2>&1 ; echo $$?)
+ifneq ($(FLEXEXISTS),0)
+define BUILD_ERROR
+    You need to have 'flex' installed on your system before proceeding!"
+endef
+BUILD_ERRORS := $(call add_error, $(BUILD_ERROR))
+endif
+
+BISONEXISTS := $(shell which bison > /dev/null 2>&1 ; echo $$?)
+ifneq ($(BISONEXISTS),0)
+define BUILD_ERROR
+    You need to have 'bison' installed on your system before proceeding!"
+endef
+BUILD_ERRORS := $(call add_error, $(BUILD_ERROR))
+endif
+
 ifeq ($(INSTDIR),)
 define BUILD_ERROR
     You need to setup $(INSTDIR_STRING), to point to where you
@@ -144,6 +169,7 @@ define BUILD_ERROR
 endef
 BUILD_ERRORS := $(call add_error, $(BUILD_ERROR))
 endif 
+
 ifeq ($(CONFIG),native)
 ifeq ($(shell which $(ARCH)-ucb-akaros-gcc 2>/dev/null),)
 define BUILD_ERROR
@@ -165,6 +191,7 @@ endef
 BUILD_ERRORS := $(call add_error, $(BUILD_ERROR))
 endif
 endif
+
 ifeq ($(ARCH),x86_64)
 ifeq ($(shell grep "CONFIG_X86_64=y" $(AKAROSDIR)/.config),)
 define BUILD_ERROR
@@ -191,7 +218,7 @@ $(MAKECMDGOALS): make-real
 make-real:
        @echo "$${BUILD_ERRORS}" |\
        awk '\
-               BEGIN { RS="<##>"; FS="<##>"; }\
+               BEGIN { RS="$(BUILD_ERROR_DELIMITER)"; FS="$(BUILD_ERROR_DELIMITER)"; }\
                { str[NR] = $$i; }\
                END { for (i = 1; i < NR; i++) {\
                                print "Error Detected:";\
@@ -201,8 +228,8 @@ make-real:
 
 else # BUILD_ERROR
 
-# Make sure that LD_LIBARY_PATH is not set during the build process
-unexport LD_LIBARY_PATH
+# Make sure that LD_LIBRARY_PATH is not set during the build process
+unexport LD_LIBRARY_PATH
 
 check-env-real:
        @echo "    Your environment checks out. Build away!"
@@ -445,9 +472,8 @@ $(BINARY_PREFIX)gcc-stage2-builddir: gcc-$(GCC_VERSION)
        mkdir -p $(SYSROOT)/usr/include/ros/arch
        cp -r $(AKAROSDIR)/kern/arch/$(AKAROS_ARCH_DIR)/ros/* \
            $(SYSROOT)/usr/include/ros/arch/
-       mkdir -p $(SYSROOT)/usr/include/parlib
        cp -r $(AKAROSDIR)/user/parlib/include/* \
-           $(SYSROOT)/usr/include/parlib/
+           $(SYSROOT)/usr/include/
        cp -r $(AKAROSDIR)/user/pthread/*.h \
            $(SYSROOT)/usr/include/
 
@@ -617,13 +643,15 @@ native-gcc-stage3-configure: native-gcc-stage3-prep
                --with-isl=no \
                --with-cloog=no \
                --with-libelf=no \
-               --enable-threads=no \
+               --enable-threads=posix \
                --enable-tls \
                --disable-nls \
                --disable-multilib \
                --enable-c99 \
                --enable-long-long \
                --enable-shared \
+               --disable-canonical-prefixes \
+               --disable-canonical-system-headers \
                $(GCC_BUILD_FLAGS);
 
 cross-gcc-stage3-configure:
@@ -647,13 +675,15 @@ cross-gcc-stage3-configure:
                --with-isl=no \
                --with-cloog=no \
                --with-libelf=no \
-               --enable-threads=no \
+               --enable-threads=posix \
                --disable-nls \
                --disable-multilib \
                --with-local-prefix=$(SYSROOT) \
                --enable-c99 \
                --enable-long-long \
                --enable-shared \
+               --disable-canonical-prefixes \
+               --disable-canonical-system-headers \
                $(GCC_BUILD_FLAGS);
 
 .$(BINARY_PREFIX)gcc-stage3-configure: