Changeset 69


Ignore:
Timestamp:
Apr 30, 2003, 10:13:09 PM (22 years ago)
Author:
bird
Message:

Boot flags. Linux.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Makefile

    • Property cvs2svn:cvs-rev changed from 1.5 to 1.6
    r68 r69  
    1515##   Global Variables
    1616###############################################################################
    17 PWD            := $(shell pwd.exe)
    18 MAKEFILE                = $(PWD)/makefile
     17PWD            := $(shell pwd)
     18PWDD           := $(shell pwd|sed 's/^[a-zA-Z]://')
     19MAKEFILE                = $(PWD)/Makefile
    1920
    2021ifndef "$(BUILD_MODE)"
     
    2223endif
    2324
     25ifndef PATH_TOP
     26export PATH_TOP  := $(PWD)
     27export PATH_TOPD := $(PWDD)
     28endif
     29
     30
     31export PATH_BIN        = $(PATH_TOP)/bin/$(BUILD_PLATFORM)/$(BUILD_MODE)
     32export PATH_BIND       = $(PATH_TOPD)/bin/$(BUILD_PLATFORM)/$(BUILD_MODE)
    2433ifndef PATH_OBJ
    25 export PATH_OBJ = $(PWD)/obj/$(BUILD_MODE)
    26 endif
    27 
    28 ifndef PATH_TOP
    29 export PATH_TOP:= $(PWD)
    30 endif
    31 
    32 PATH_BIN        = $(PATH_TOP)/bin/$(BUILD_MODE)
    33 PATH_BUILTTOOLS = $(PATH_OBJ)/builttools
     34export PATH_OBJ        = $(PATH_TOP)/obj/$(BUILD_PLATFORM)/$(BUILD_MODE)
     35export PATH_OBJD       = $(PATH_TOPD)/obj/$(BUILD_PLATFORM)/$(BUILD_MODE)
     36endif
     37export PATH_BUILTTOOLS = $(PATH_OBJ)/builttools
     38export PATH_BUILTTOOLSD= $(PATH_OBJD)/builttools
     39
     40# Debug info or not (when ever we feel like passing down such options).
     41ifeq "$(BUILD_MODE)" "RELEASE"
     42BUILD_DEBUGINFO = -s
     43else
     44BUILD_DEBUGINFO = -g
     45endif   
     46
     47 
     48#                         
     49# For builds on Linux Host builds we do the environment setup here.
     50# This is essentially a mimicking of what we do on OS/2.
     51#
     52ifndef BUILD_PLATFORM
     53ifeq "$(shell uname -s)" "Linux"
     54export BUILD_PLATFORM       ?= LINUX
     55export BUILD_PROJECT        ?= GCCOS2
     56export SH                   ?= /bin/sh
     57export ASH                  ?= /bin/ash
     58export BASH                 ?= /bin/bash
     59export AWK                  ?= /bin/gawk
     60export GAWK                 ?= /bin/gawk
     61export CONFIG_SHELL         ?= $(SH)
     62export MAKESHELL            ?= $(SH)
     63export PATH_EMX             ?= /usr
     64export PATH_EMXPGCC         ?= /usr
     65export TMP                  ?= /tmp
     66export TMPDIR               ?= /tmp
     67endif
     68endif
    3469
    3570
     
    4782all:   
    4883        mkdir -p $(PATH_OBJ)
    49         $(MAKE) -C . all-logged 2>&1 | $(UNIXROOT)/usr/bin/tee.exe $(PATH_OBJ)/build-`date +"%Y%m%d-%H%M%S"`.log
     84        $(MAKE) -C . all-logged 2>&1 | $(UNIXROOT)/usr/bin/tee $(PATH_OBJ)/build-`date +"%Y%m%d-%H%M%S"`.log
    5085
    5186all-logged:     \
     
    79114        @echo "Variables:"
    80115        @echo "    PWD                  = $(PWD)"
     116        @echo "    PWDD                 = $(PWDD)"
    81117        @echo "    PATH_TOP             = $(PATH_TOP)"
     118        @echo "    PATH_TOPD            = $(PATH_TOPD)"
    82119        @echo "    PATH_OBJ             = $(PATH_OBJ)"
     120        @echo "    PATH_OBJD            = $(PATH_OBJD)"
     121        @echo "    PATH_BIN             = $(PATH_BIN)"
     122        @echo "    PATH_BIND            = $(PATH_BIND)"
    83123        @echo "    PATH_EMXPGCC         = $(PATH_EMXPGCC)"
    84124        @echo "    PATH_EMX             = $(PATH_EMX)"
     
    115155all-sanity:
    116156        @echo -n "Checking build environment sanity... "
    117         @if [ "x$(UNIXROOT)" = "x" ]; then \
    118                 echo ""; echo "Error: UNIXROOT isn't defined!"; \
    119                 exit 8; \
    120         fi
    121157        @if [ "x$(BUILD_PROJECT)" != "xGCCOS2" ]; then \
    122158                echo ""; echo "Error: BUILD_PROJECT is wrong or isn't defined!"; \
    123159                exit 8; \
    124160        fi
    125         @if [ "x$(BUILD_PLATFORM)" != "xOS2" ]; then \
     161        @if [ "x$(BUILD_PLATFORM)" != "xOS2" -a "x$(BUILD_PLATFORM)" != "xLINUX" ]; then \
    126162                echo ""; echo "Error: BUILD_PLATFORM is wrong or isn't defined!"; \
    127163                exit 8; \
    128164        fi
     165        @if [ "x$(BUILD_PLATFORM)" = "xOS2" -a "x$(UNIXROOT)" = "x" ]; then \
     166                echo ""; echo "Error: UNIXROOT isn't defined!"; \
     167                exit 8; \
     168        fi
     169        @if [ "x$(BUILD_PLATFORM)" != "xOS2" -a "x$(UNIXROOT)" != "x" ]; then \
     170                echo ""; echo "Error: UNIXROOT is defined!"; \
     171                exit 8; \
     172        fi
     173ifeq "$(BUILD_PLATFORM)" "OS2"
     174        @if gcc --version | grep -qe ".*[3]\.[2-9]\.[0-9]"; then \
     175                true; \
     176        else \
     177                echo ""; echo "Warning: GCC v3.2.x or higher is recommended!"; \
     178        fi
     179        @if ar --version | grep -qe ".*2\.11\.[2-9]" -e ".*[2]\.1[2-9]\.[0-9]*"; then \
     180                true; \
     181        else \
     182                echo ""; echo "Warning: AR v2.11.2 or higher is recommended!"; \
     183        fi
     184endif
    129185        @echo "ok"
    130186       
    131 
     187                                                                                 
    132188PRELOADED_TOOLS = bin/sh.exe bin/echo.exe bin/true.exe usr/bin/test.exe usr/bin/expr.exe \
    133189     usr/bin/gawk.exe usr/bin/sed.exe bin/rm.exe bin/cat.exe bin/cp.exe
    134        
     190         
    135191all-preload:
    136192        @echo "Preloading tools:"
     193ifeq "$(BUILD_PLATFORM)" "OS2"
    137194        @for tool in $(PRELOADED_TOOLS); do \
    138195            echo -n " $$tool";  \
     
    140197        done
    141198        emxload -e gcc.exe g++.exe ld.exe cc1.exe as.exe cc1plus.exe cpp0.exe ar.exe
     199endif
    142200        @echo ""
     201       
    143202
    144203       
     
    219278        $(MAKE) -C $(PATH_OBJ)/gcc -f $(MAKEFILE) $@-it
    220279
    221        
    222 # when changed directory.               
     280
     281# When changed directory
     282#       We pass down BOOT_ flags for stage2+.
     283#       Because strip is broken on OS/2 we pass -s for release build and -g for non release builds.
    223284gcc-build-it: \
    224285                $(PATH_OBJ)/gcc/.ts.configured
    225         uset GCCLOAD & $(MAKE) -C $(PATH_OBJ)/gcc bootstrap
    226 
    227 # configure
     286ifeq "$(BUILD_PLATFORM)" "OS2"         
     287        unset GCCLOAD & $(MAKE) -C $(PATH_OBJ)/gcc \
     288                LIBGCC2_DEBUG_CFLAGS="$(BUILD_DEBUGINFO)" \
     289                BOOT_CFLAGS="$(BUILD_DEBUGINFO) -O2 -mcpu=pentium -mpreferred-stack-boundary=2 -malign-strings=0 -falign-loops=2 -falign-jumps=2 -falign-functions=2" \
     290                BOOT_LDFLAGS="$(BUILD_DEBUGINFO) -Zexe -Zcrtdll" \
     291                bootstrap
     292else
     293        $(MAKE) -C $(PATH_OBJ)/gcc bootstrap
     294endif   
     295               
     296# configure it (invoked after directory change).
     297#       We set CC to help configure finding it.
    228298gcc-configure $(PATH_OBJ)/gcc/.ts.configured: $(PATH_TOP)/src/gcc/configure
    229         $(ASH) -c "export CC=\"gcc.exe\" ; \
    230                 export LDFLAGS=\"-s -Zexe -Zcrtdll\" ; \
     299ifeq "$(BUILD_PLATFORM)" "OS2"
     300        $(ASH) -c " \
     301                export CC=\"gcc.exe\" ; \
    231302                $< \
    232303                --enable-clh \
     
    236307                --without-included-gettext \
    237308                --with-local-prefix=$(subst \,/,$(PATH_EMXPGCC)) \
    238                 --prefix=$(PATH_BIN)/gcc322 \
     309                --prefix=$(PATH_BIND)/gcc322 \
    239310                --with-gnu-ld \
    240311                --with-gnu-as \
    241312                --disable-libgcj \
    242313                --enable-languages=c,c++ "
     314else
     315        $(ASH) -c "$< \
     316                --enable-clh \
     317                --enable-shared=libgcc \
     318                --enable-nls \
     319                --without-included-gettext \
     320                --with-local-prefix=$(subst \,/,$(PATH_EMXPGCC)) \
     321                --prefix=$(PATH_BIND)/gcc322 \
     322                --with-gnu-ld \
     323                --with-gnu-as \
     324                --disable-libgcj \
     325                --enable-languages=c,c++ "
     326endif
    243327        touch $(PATH_OBJ)/gcc/.ts.configured
    244 # --disable-multilib
    245 #       $(BASH) -c "export LDFLAGS=\"-s -Zexe -Zcrtdll\" ; $< --enable-threads --enable-shared --enable-nls --without-included-gettext --prefix=$(PATH_BIN)/usr/bin/local/gcc322 "
    246        
    247                        
    248 # old way
    249 gcc-build-old:
    250         mkdir -p $(GCC_CONFIGURE_DIRS:%=$(PATH_OBJ)/%)
    251         -emxload -u $(PATH_OBJ)\gcc\gcc\cc1.exe $(PATH_OBJ)\gcc\gcc\g++.exe $(PATH_OBJ)\gcc\gcc\xgcc.exe
    252         $(foreach dir,$(GCC_CONFIGURE_DIRS), $(MAKE) -f $(MAKEFILE) -C $(PATH_OBJ)/$(dir) $@-$(shell echo $(dir)|sed -e 's/gcc\///' -e 's/\//-/g') &&) echo "."
    253        
    254 # src/gcc/libiberty
    255 .PHONY: gcc-build-libiberty gcc-build-libiberty-configure
    256 gcc-build-libiberty:    $(PATH_OBJ)/gcc/libiberty/Makefile
    257         $(MAKE) -C $(<D)
    258        
    259 $(PATH_OBJ)/gcc/libiberty/Makefile: $(PATH_TOP)/src/gcc/libiberty/configure
    260         $(BASH) $<
    261 
    262 # src/gcc/gcc
    263 gcc-build-gcc: $(PATH_OBJ)/gcc/gcc/Makefile
    264         $(MAKE) -C $(<D)
    265 
    266 $(PATH_OBJ)/gcc/gcc/Makefile: $(PATH_TOP)/src/gcc/gcc/configure
    267         $(BASH) -c "export LDFLAGS=\"-s -Zexe -Zcrtdll\" ; $< --enable-clh --enable-threads --enable-shared --enable-nls --without-included-gettext --prefix=$(PATH_BIN)/usr/bin/local/gcc322 "
    268 #       $(BASH) -c "export LDFLAGS=\"-s -Zexe -Zcrtdll\" ; $< --enable-threads --enable-shared --enable-nls --without-included-gettext --prefix=$(PATH_BIN)/usr/bin/local/gcc322 --disable-multilib --disable-shared  "
    269 #       $(BASH) -c "export LDFLAGS=\"-s -Zexe -Zcrtdll\" ; $< --enable-clh --enable-threads --enable-shared --enable-nls --without-included-gettext --prefix=/dev/gcc/v3.2.2"
    270 
    271 # src/gcc/zlib
    272 gcc-build-zlib: $(PATH_OBJ)/gcc/zlib/Makefile
    273         $(MAKE) -C $(<D)
    274 
    275 $(PATH_OBJ)/gcc/zlib/Makefile: $(PATH_TOP)/src/gcc/zlib/configure
    276         $(BASH) -c "export LDFLAGS=\"-s -Zexe -Zcrtdll\" ; $< --enable-shared --prefix=$(PATH_BIN)/usr/bin/local/gcc322 "
    277 
    278        
    279 gcc-build-libstdc++-v3:
    280 
     328       
    281329
    282330# Generate diffs for GCC (v3.2.2) - part of packing a release.
Note: See TracChangeset for help on using the changeset viewer.