| 1 | # $Id: Makefile 3374 2007-05-27 11:17:48Z bird $
 | 
|---|
| 2 | #
 | 
|---|
| 3 | # Top level makefile.
 | 
|---|
| 4 | #
 | 
|---|
| 5 | # Copyright (c) 2003-2005 Knut St. Osmundsen
 | 
|---|
| 6 | # Copyright (c) 2003-2004 InnoTek Systemberatung GmbH
 | 
|---|
| 7 | # Author: knut st. osmundsen <bird@anduin.net>
 | 
|---|
| 8 | #
 | 
|---|
| 9 | # All Rights Reserved
 | 
|---|
| 10 | #
 | 
|---|
| 11 | 
 | 
|---|
| 12 | 
 | 
|---|
| 13 | ###############################################################################
 | 
|---|
| 14 | ##   Global Variables
 | 
|---|
| 15 | ##   (D = no drive)
 | 
|---|
| 16 | ###############################################################################
 | 
|---|
| 17 | PWD            := $(shell pwd)
 | 
|---|
| 18 | PWDD           := $(shell pwd|sed 's/^[a-zA-Z]://')
 | 
|---|
| 19 | MAKEFILE                = $(PWD)/Makefile
 | 
|---|
| 20 | 
 | 
|---|
| 21 | ifndef BUILD_MODE
 | 
|---|
| 22 | export BUILD_MODE=DEBUG
 | 
|---|
| 23 | endif
 | 
|---|
| 24 | 
 | 
|---|
| 25 | ifndef PATH_TOP
 | 
|---|
| 26 | export PATH_TOP  := $(PWD)
 | 
|---|
| 27 | endif
 | 
|---|
| 28 | ifndef PATH_TOPD
 | 
|---|
| 29 | export PATH_TOPD := $(PWDD)
 | 
|---|
| 30 | endif
 | 
|---|
| 31 | 
 | 
|---|
| 32 | 
 | 
|---|
| 33 | export PATH_BIN        = $(PATH_TOP)/bin/$(BUILD_PLATFORM)/$(BUILD_MODE)
 | 
|---|
| 34 | export PATH_BIND       = $(PATH_TOPD)/bin/$(BUILD_PLATFORM)/$(BUILD_MODE)
 | 
|---|
| 35 | export PATH_OBJ        = $(PATH_TOP)/obj/$(BUILD_PLATFORM)/$(BUILD_MODE)
 | 
|---|
| 36 | export PATH_OBJD       = $(PATH_TOPD)/obj/$(BUILD_PLATFORM)/$(BUILD_MODE)
 | 
|---|
| 37 | export PATH_BUILTUNIX  = $(PATH_OBJ)/builtunix
 | 
|---|
| 38 | export PATH_BUILTUNIXD = $(PATH_OBJD)/builtunix
 | 
|---|
| 39 | export PATH_BUILTTOOLS = $(PATH_BUILTUNIX)/usr
 | 
|---|
| 40 | export PATH_BUILTTOOLSD= $(PATH_BUILTUNIXD)/usr
 | 
|---|
| 41 | PATH_BUILTUNIX_TMP     = $(PATH_BUILTUNIX).tmp
 | 
|---|
| 42 | PATH_BUILTUNIX_TMPD    = $(PATH_BUILTUNIXD).tmp
 | 
|---|
| 43 | PATH_BUILTTOOLS_TMP    = $(PATH_BUILTUNIX_TMP)/usr
 | 
|---|
| 44 | PATH_BUILTTOOLS_TMPD   = $(PATH_BUILTUNIX_TMPD)/usr
 | 
|---|
| 45 | 
 | 
|---|
| 46 | # Debug info or not (when ever we feel like passing down such options).
 | 
|---|
| 47 | # Several ways to do this it seems.
 | 
|---|
| 48 | ifeq "$(BUILD_MODE)" "RELEASE"
 | 
|---|
| 49 | BUILD_DEBUGINFO = -s
 | 
|---|
| 50 | BUILD_ENABLE_SYMBOLS = --disable-symbols
 | 
|---|
| 51 | BUILD_OPTIMIZE  = -O2 -mcpu=pentium -mpreferred-stack-boundary=2 -malign-strings=0 -falign-loops=2 -falign-jumps=2 -falign-functions=2
 | 
|---|
| 52 | else
 | 
|---|
| 53 | BUILD_OPTIMIZE  = -O0
 | 
|---|
| 54 | BUILD_DEBUGINFO = -g
 | 
|---|
| 55 | BUILD_ENABLE_SYMBOLS = --enable-symbols
 | 
|---|
| 56 | endif
 | 
|---|
| 57 | 
 | 
|---|
| 58 | 
 | 
|---|
| 59 | # Version and CVS defines - real stuff in env.cmd.
 | 
|---|
| 60 | export GCC_VERSION              ?= 3.3.5
 | 
|---|
| 61 | export GCC_VERSION_SHORT        ?= 335
 | 
|---|
| 62 | ifdef OFFICIAL_BIRD_VERSION
 | 
|---|
| 63 | export GCC_RELEASE_ID           ?= csd3
 | 
|---|
| 64 | else
 | 
|---|
| 65 | export GCC_RELEASE_ID           ?= x
 | 
|---|
| 66 | endif
 | 
|---|
| 67 | export GCC_CVS_VENDOR                   ?= GNU
 | 
|---|
| 68 | export GCC_CVS_REL                              ?= GCC_3-3-5
 | 
|---|
| 69 | export BINUTILS_VERSION                 ?= 2.14
 | 
|---|
| 70 | export BINUTILS_VERSION_SHORT   ?= 214
 | 
|---|
| 71 | export BINUTILS_CVS_VENDOR              ?= GNU
 | 
|---|
| 72 | export BINUTILS_CVS_REL                 ?= BINUTILS_2-14
 | 
|---|
| 73 | export EMX_VERSION                              ?= 0.9d-fix04
 | 
|---|
| 74 | export EMX_VERSION_SHORT        ?= 9d04
 | 
|---|
| 75 | export EMX_CVS_VENDOR                   ?= EMX
 | 
|---|
| 76 | export EMX_CVS_REL                              ?= EMX_0-9D-FIX04
 | 
|---|
| 77 | export LIBC_VERSION             ?= 0.6.3
 | 
|---|
| 78 | export LIBC_VERSION_SHORT       ?= 063
 | 
|---|
| 79 | 
 | 
|---|
| 80 | # innotek version and timestamp
 | 
|---|
| 81 | ifndef BUILD_TS
 | 
|---|
| 82 | export BUILD_TS                                 := $(shell date '+%Y-%m-%d %H:%M')
 | 
|---|
| 83 | else
 | 
|---|
| 84 | export BUILD_TS
 | 
|---|
| 85 | endif
 | 
|---|
| 86 | ifdef OFFICIAL_BIRD_VERSION
 | 
|---|
| 87 | export INNOTEK_VERSION                  ?= (Bird Build $(BUILD_TS))
 | 
|---|
| 88 | else
 | 
|---|
| 89 | export INNOTEK_VERSION                  ?= (Non-Bird Build $(BUILD_TS))
 | 
|---|
| 90 | endif
 | 
|---|
| 91 | 
 | 
|---|
| 92 | 
 | 
|---|
| 93 | #
 | 
|---|
| 94 | # For builds on Linux Host builds we do the environment setup here.
 | 
|---|
| 95 | # This is essentially a mimicking of what we do on OS/2.
 | 
|---|
| 96 | #
 | 
|---|
| 97 | ifndef BUILD_PLATFORM
 | 
|---|
| 98 | ifeq "$(shell uname -s)" "Linux"
 | 
|---|
| 99 | export BUILD_PLATFORM       ?= LINUX
 | 
|---|
| 100 | export BUILD_PROJECT        ?= GCCOS2
 | 
|---|
| 101 | export SH                   ?= /bin/sh
 | 
|---|
| 102 | export ASH                  ?= /bin/ash
 | 
|---|
| 103 | export BASH                 ?= /bin/bash
 | 
|---|
| 104 | export AWK                  ?= /bin/gawk
 | 
|---|
| 105 | export GAWK                 ?= /bin/gawk
 | 
|---|
| 106 | export CONFIG_SHELL         ?= $(SH)
 | 
|---|
| 107 | export MAKESHELL            ?= $(SH)
 | 
|---|
| 108 | export PATH_EMX             ?= /usr
 | 
|---|
| 109 | export PATH_IGCC            ?= /usr
 | 
|---|
| 110 | export TMP                  ?= /tmp
 | 
|---|
| 111 | export TMPDIR               ?= /tmp
 | 
|---|
| 112 | endif
 | 
|---|
| 113 | endif
 | 
|---|
| 114 | export PATH_IGCC            ?= $(PATH_EMXPGCC)
 | 
|---|
| 115 | export PATH_EMXPGCC         ?= $(PATH_IGCC)
 | 
|---|
| 116 | 
 | 
|---|
| 117 | 
 | 
|---|
| 118 | 
 | 
|---|
| 119 | # Misc Helpers
 | 
|---|
| 120 | ALL_PREFIX                  = $(PATH_BIND)/$(GCC_VERSION)-$(GCC_RELEASE_ID)/usr
 | 
|---|
| 121 | TOOL_CVS_DIFF_TREE          = -cvs diff -R -N -w -u -r
 | 
|---|
| 122 | ifeq "$(BUILD_PLATFORM)" "OS2"
 | 
|---|
| 123 | #NICE                                           = nice -i
 | 
|---|
| 124 | NICE                                            = nice
 | 
|---|
| 125 | else
 | 
|---|
| 126 | NICE                                            =
 | 
|---|
| 127 | endif
 | 
|---|
| 128 | 
 | 
|---|
| 129 | 
 | 
|---|
| 130 | 
 | 
|---|
| 131 | 
 | 
|---|
| 132 | ###############################################################################
 | 
|---|
| 133 | ###############################################################################
 | 
|---|
| 134 | ###############################################################################
 | 
|---|
| 135 | ###############################################################################
 | 
|---|
| 136 | #
 | 
|---|
| 137 | #    M a i n   R u l e z
 | 
|---|
| 138 | #
 | 
|---|
| 139 | ###############################################################################
 | 
|---|
| 140 | ###############################################################################
 | 
|---|
| 141 | ###############################################################################
 | 
|---|
| 142 | ###############################################################################
 | 
|---|
| 143 | 
 | 
|---|
| 144 | # default is quick
 | 
|---|
| 145 | all: all-quick
 | 
|---|
| 146 | all-logged: all-quick-logged
 | 
|---|
| 147 | 
 | 
|---|
| 148 | # release builds are built 'double quick'.
 | 
|---|
| 149 | all-double-quick:
 | 
|---|
| 150 | 
 | 
|---|
| 151 | 
 | 
|---|
| 152 | 
 | 
|---|
| 153 | # old bootstrap building.
 | 
|---|
| 154 | bootstrap all-boostrap:
 | 
|---|
| 155 |         mkdir -p $(PATH_OBJ)
 | 
|---|
| 156 |         $(NICE) $(MAKE) $(MAKEOPT) -j 1 -C . all-bootstrap-logged 2>&1 | $(UNIXROOT)/usr/bin/tee $(PATH_OBJ)/build-`date +"%Y%m%d-%H%M%S"`.log
 | 
|---|
| 157 | 
 | 
|---|
| 158 | all-bootstrap-logged:   \
 | 
|---|
| 159 |         all-banner-start \
 | 
|---|
| 160 |                 all-env \
 | 
|---|
| 161 |                 all-sanity \
 | 
|---|
| 162 |                 all-preload \
 | 
|---|
| 163 |                 all-versionstamps \
 | 
|---|
| 164 |                 all-symlinks \
 | 
|---|
| 165 |                 \
 | 
|---|
| 166 |         all-stage1 \
 | 
|---|
| 167 |         all-stage2 \
 | 
|---|
| 168 |                 \
 | 
|---|
| 169 |                 all-install \
 | 
|---|
| 170 |                 \
 | 
|---|
| 171 |                 all-symlinks-unlink \
 | 
|---|
| 172 |                 all-preload-unload
 | 
|---|
| 173 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 174 |         @echo "+ Make Ended Successfully: $(shell date)"
 | 
|---|
| 175 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 176 | 
 | 
|---|
| 177 | #
 | 
|---|
| 178 | # banners
 | 
|---|
| 179 | #
 | 
|---|
| 180 | 
 | 
|---|
| 181 | all-banner-start:
 | 
|---|
| 182 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 183 |         @echo "+ Make started: $(shell date)"
 | 
|---|
| 184 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 185 | 
 | 
|---|
| 186 | all-banner-stage1:
 | 
|---|
| 187 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 188 |         @echo "+ Stage 1 - starting: $(shell date)"
 | 
|---|
| 189 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 190 | 
 | 
|---|
| 191 | all-banner-stage2:
 | 
|---|
| 192 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 193 |         @echo "+ Stage 2 - starting: $(shell date)"
 | 
|---|
| 194 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 195 | 
 | 
|---|
| 196 | all-banner-builtunix-initial:
 | 
|---|
| 197 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 198 |         @echo "+ Initializing builtunix tree"
 | 
|---|
| 199 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 200 | 
 | 
|---|
| 201 | all-banner-builtunix-stage2:
 | 
|---|
| 202 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 203 |         @echo "+ Copying stage2 builtunix"
 | 
|---|
| 204 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 205 | 
 | 
|---|
| 206 | all-banner-install:
 | 
|---|
| 207 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 208 |         @echo "+ Install - starting: $(shell date)"
 | 
|---|
| 209 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 210 | 
 | 
|---|
| 211 | all-banner-install-done:
 | 
|---|
| 212 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 213 |         @echo "+ Install - done: $(shell date)"
 | 
|---|
| 214 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 215 | 
 | 
|---|
| 216 | all-banner-symlinks-start:
 | 
|---|
| 217 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 218 |         @echo "+ symlinks - staring: $(shell date)"
 | 
|---|
| 219 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 220 | 
 | 
|---|
| 221 | all-banner-symlinks-done:
 | 
|---|
| 222 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 223 |         @echo "+ symlinks - done: $(shell date)"
 | 
|---|
| 224 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 225 | 
 | 
|---|
| 226 | all-banner-symlinks-unlink-start:
 | 
|---|
| 227 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 228 |         @echo "+ symlinks unlinking - staring: $(shell date)"
 | 
|---|
| 229 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 230 | 
 | 
|---|
| 231 | all-banner-symlinks-unlink-done:
 | 
|---|
| 232 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 233 |         @echo "+ symlinks unlinking - done: $(shell date)"
 | 
|---|
| 234 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 235 | 
 | 
|---|
| 236 | 
 | 
|---|
| 237 | #
 | 
|---|
| 238 | # Sanity and environment dumps - to make it easier to figure out make bugs.
 | 
|---|
| 239 | #
 | 
|---|
| 240 | 
 | 
|---|
| 241 | .PHONY: all-env
 | 
|---|
| 242 | all-env:
 | 
|---|
| 243 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 244 |         @echo "Variables:"
 | 
|---|
| 245 | ifdef OFFICIAL_BIRD_VERSION
 | 
|---|
| 246 |         @echo "    OFFICIAL_BIRD_VERSION= $(OFFICIAL_BIRD_VERSION)"
 | 
|---|
| 247 | endif
 | 
|---|
| 248 |         @echo "    PWD                  = $(PWD)"
 | 
|---|
| 249 |         @echo "    PWDD                 = $(PWDD)"
 | 
|---|
| 250 |         @echo "    PATH_TOP             = $(PATH_TOP)"
 | 
|---|
| 251 |         @echo "    PATH_TOPD            = $(PATH_TOPD)"
 | 
|---|
| 252 |         @echo "    PATH_OBJ             = $(PATH_OBJ)"
 | 
|---|
| 253 |         @echo "    PATH_OBJD            = $(PATH_OBJD)"
 | 
|---|
| 254 |         @echo "    PATH_BIN             = $(PATH_BIN)"
 | 
|---|
| 255 |         @echo "    PATH_BIND            = $(PATH_BIND)"
 | 
|---|
| 256 |         @echo "    ALL_PREFIX           = $(ALL_PREFIX)"
 | 
|---|
| 257 |         @echo "    PATH_IGCC            = $(PATH_IGCC)"
 | 
|---|
| 258 |         @echo "    PATH_EMX             = $(PATH_EMX)"
 | 
|---|
| 259 |         @echo "    BUILD_MODE           = $(BUILD_MODE)"
 | 
|---|
| 260 |         @echo "    BUILD_PLATFORM       = $(BUILD_PLATFORM)"
 | 
|---|
| 261 |         @echo "    BUILD_PROJECT        = $(BUILD_PROJECT)"
 | 
|---|
| 262 |         @echo "    GCC_VERSION          = $(GCC_VERSION)"
 | 
|---|
| 263 |         @echo "    GCC_VERSION_SHORT    = $(GCC_VERSION_SHORT)"
 | 
|---|
| 264 |         @echo "    GCC_RELEASE_ID       = $(GCC_RELEASE_ID)"
 | 
|---|
| 265 |         @echo "    GCC_CVS_VENDOR       = $(GCC_CVS_VENDOR)"
 | 
|---|
| 266 |         @echo "    GCC_CVS_REL          = $(GCC_CVS_REL)"
 | 
|---|
| 267 |         @echo "    BINUTILS_VERSION     = $(BINUTILS_VERSION)"
 | 
|---|
| 268 |         @echo "    BINUTILS_VERSION_SHORT = $(BINUTILS_VERSION_SHORT)"
 | 
|---|
| 269 |         @echo "    BINUTILS_CVS_VENDOR  = $(BINUTILS_CVS_VENDOR)"
 | 
|---|
| 270 |         @echo "    BINUTILS_CVS_REL     = $(BINUTILS_CVS_REL)"
 | 
|---|
| 271 |         @echo "    EMX_VERSION          = $(EMX_VERSION)"
 | 
|---|
| 272 |         @echo "    EMX_VERSION_SHORT    = $(EMX_VERSION_SHORT)"
 | 
|---|
| 273 |         @echo "    EMX_CVS_VENDOR       = $(EMX_CVS_VENDOR)"
 | 
|---|
| 274 |         @echo "    EMX_CVS_REL          = $(EMX_CVS_REL)"
 | 
|---|
| 275 |         @echo "    MAKEFILE             = $(MAKEFILE)"
 | 
|---|
| 276 |         @echo "    UNIXROOT             = $(UNIXROOT)"
 | 
|---|
| 277 |         @echo "    AC_PREFIX            = $(AC_PREFIX)"
 | 
|---|
| 278 |         @echo "    AC_MACRODIR          = $(AC_MACRODIR)"
 | 
|---|
| 279 |         @echo "    HOSTNAME             = $(HOSTNAME)"
 | 
|---|
| 280 |         @echo "    USER                 = $(USER)"
 | 
|---|
| 281 |         @echo "    LOGNAME              = $(LOGNAME)"
 | 
|---|
| 282 |         @echo "    TMP                  = $(TMP)"
 | 
|---|
| 283 |         @echo "    TMPDIR               = $(TMPDIR)"
 | 
|---|
| 284 |         @echo "    USER                 = $(USER)"
 | 
|---|
| 285 |         @echo "    AWK                  = $(AWK)"
 | 
|---|
| 286 |         @echo "    GAWK                 = $(GAWK)"
 | 
|---|
| 287 |         @echo "    SH                   = $(SH)"
 | 
|---|
| 288 |         @echo "    ASH                  = $(ASH)"
 | 
|---|
| 289 |         @echo "    BASH                 = $(BASH)"
 | 
|---|
| 290 |         @echo "    CONFIG_SHELL         = $(CONFIG_SHELL)"
 | 
|---|
| 291 |         @echo "    MAKESHELL            = $(MAKESHELL)"
 | 
|---|
| 292 |         @echo "    EMXSHELL             = $(EMXSHELL)"
 | 
|---|
| 293 |         @echo "    SHELL                = $(SHELL)"
 | 
|---|
| 294 |         @echo "    MAKE                 = $(MAKE)"
 | 
|---|
| 295 |         @echo "    MAKEOPT              = $(MAKEOPT)"
 | 
|---|
| 296 |         @echo "    PATH                 = $(PATH)"
 | 
|---|
| 297 |         @echo "    C_INCLUDE_PATH       = $(C_INCLUDE_PATH)"
 | 
|---|
| 298 |         @echo "    CPLUS_INCLUDE_PATH   = $(CPLUS_INCLUDE_PATH)"
 | 
|---|
| 299 |         @echo "    OBJC_INCLUDE_PATH    = $(OBJC_INCLUDE_PATH)"
 | 
|---|
| 300 |         @echo "    LIBRARY_PATH         = $(LIBRARY_PATH)"
 | 
|---|
| 301 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 302 |         @echo "Content of PATH_OBJ:"
 | 
|---|
| 303 |         -ls -la $(PATH_OBJ)/
 | 
|---|
| 304 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 305 |         @echo "Content of PATH_BIN:"
 | 
|---|
| 306 |         -ls -la $(PATH_BIN)/
 | 
|---|
| 307 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 308 | 
 | 
|---|
| 309 | 
 | 
|---|
| 310 | .PHONY: all-sanity
 | 
|---|
| 311 | all-sanity:
 | 
|---|
| 312 |         @echo -n "Checking build environment sanity... "
 | 
|---|
| 313 |         @if [ "x$(BUILD_PROJECT)" != "xGCCOS2" ]; then \
 | 
|---|
| 314 |                 echo ""; echo "Error: BUILD_PROJECT is wrong or isn't defined!"; \
 | 
|---|
| 315 |                 exit 8; \
 | 
|---|
| 316 |         fi
 | 
|---|
| 317 |         @if [ "x$(BUILD_PLATFORM)" != "xOS2" -a "x$(BUILD_PLATFORM)" != "xLINUX" ]; then \
 | 
|---|
| 318 |                 echo ""; echo "Error: BUILD_PLATFORM is wrong or isn't defined!"; \
 | 
|---|
| 319 |                 exit 8; \
 | 
|---|
| 320 |         fi
 | 
|---|
| 321 |         @if [ "x$(BUILD_PLATFORM)" = "xOS2" -a "x$(UNIXROOT)" = "x" ]; then \
 | 
|---|
| 322 |                 echo ""; echo "Error: UNIXROOT isn't defined!"; \
 | 
|---|
| 323 |                 exit 8; \
 | 
|---|
| 324 |         fi
 | 
|---|
| 325 |         @if [ "x$(BUILD_PLATFORM)" != "xOS2" -a "x$(UNIXROOT)" != "x" ]; then \
 | 
|---|
| 326 |                 echo ""; echo "Error: UNIXROOT is defined!"; \
 | 
|---|
| 327 |                 exit 8; \
 | 
|---|
| 328 |         fi
 | 
|---|
| 329 | ifeq "$(BUILD_PLATFORM)" "OS2"
 | 
|---|
| 330 |         @if gcc --version | grep -qe ".*[3]\.[2-9]\.[0-9]"; then \
 | 
|---|
| 331 |                 true; \
 | 
|---|
| 332 |         else \
 | 
|---|
| 333 |                 echo ""; echo "Warning: GCC v3.2.x or higher is recommended!"; \
 | 
|---|
| 334 |         fi
 | 
|---|
| 335 |         @if ar --version | grep -qe ".*2\.11\.[2-9]" -e ".*[2]\.1[2-9][.0-9]*"; then \
 | 
|---|
| 336 |                 true; \
 | 
|---|
| 337 |         else \
 | 
|---|
| 338 |                 echo ""; echo "Warning: AR v2.11.2 or higher is recommended!"; \
 | 
|---|
| 339 |         fi
 | 
|---|
| 340 | endif
 | 
|---|
| 341 |         @echo "ok"
 | 
|---|
| 342 | 
 | 
|---|
| 343 | 
 | 
|---|
| 344 | #
 | 
|---|
| 345 | # Preload tools we commonly use this speeds up stuff.
 | 
|---|
| 346 | #
 | 
|---|
| 347 | PRELOADED_TOOLS = bin/sh.exe bin/echo.exe bin/true.exe usr/bin/test.exe usr/bin/expr.exe \
 | 
|---|
| 348 |      usr/bin/gawk.exe bin/sed.exe bin/rm.exe bin/cat.exe bin/cp.exe bin/mkdir.exe bin/rm.exe
 | 
|---|
| 349 | 
 | 
|---|
| 350 | .PHONY: all-preload-unload all-preload
 | 
|---|
| 351 | all-preload:
 | 
|---|
| 352 |         @echo "Preloading tools:"
 | 
|---|
| 353 | ifeq "$(BUILD_PLATFORM)" "OS2"
 | 
|---|
| 354 |         @for tool in $(PRELOADED_TOOLS); do \
 | 
|---|
| 355 |             echo -n " $$tool";  \
 | 
|---|
| 356 |                 emxload -e $(UNIXROOT)/$$tool;  \
 | 
|---|
| 357 |         done
 | 
|---|
| 358 |         @echo ""
 | 
|---|
| 359 |         emxload -e gcc.exe g++.exe ld.exe as.exe ar.exe ld.exe emxomfld.exe emxomf.exe emxomfar.exe \
 | 
|---|
| 360 |                 `gcc -print-prog-name=cc1` \
 | 
|---|
| 361 |                 `gcc -print-prog-name=as` \
 | 
|---|
| 362 |                 `gcc -print-prog-name=cc1plus`
 | 
|---|
| 363 | endif
 | 
|---|
| 364 |         @echo ""
 | 
|---|
| 365 | 
 | 
|---|
| 366 | all-preload-unload:
 | 
|---|
| 367 | ifeq "$(BUILD_PLATFORM)" "OS2"
 | 
|---|
| 368 |         emxload -qw
 | 
|---|
| 369 | endif
 | 
|---|
| 370 | 
 | 
|---|
| 371 | 
 | 
|---|
| 372 | #
 | 
|---|
| 373 | # Version stamping/branding.
 | 
|---|
| 374 | #       Update various version strings which are printed from the tools to tell
 | 
|---|
| 375 | #       the build date and that's our built. This helps us tell releases apart.
 | 
|---|
| 376 | #
 | 
|---|
| 377 | # IMPORTANT! Take care not to commit the changed files
 | 
|---|
| 378 | # (TODO! Try make these changes to non-cvs backed files. (long-term-goal))
 | 
|---|
| 379 | .PHONY: all-versionstamps
 | 
|---|
| 380 | all-versionstamps: $(PATH_OBJ)/.ts.versionstamped
 | 
|---|
| 381 | $(PATH_OBJ)/.ts.versionstamped:
 | 
|---|
| 382 | #       echo '#define INNOTEK_VERSION  "$(INNOTEK_VERSION)"' > include/innotekversion.h
 | 
|---|
| 383 |         $(MAKE) $(MAKEOPT) -j 1 -f $(MAKEFILE) "INNOTEK_VERSION=$(INNOTEK_VERSION)" gcc-versionstamps binutils-versionstamps emx-versionstamps
 | 
|---|
| 384 |         mkdir -p $(@D)
 | 
|---|
| 385 |         touch $@
 | 
|---|
| 386 | 
 | 
|---|
| 387 | 
 | 
|---|
| 388 | #
 | 
|---|
| 389 | # Stages
 | 
|---|
| 390 | #       A rebuild with the new toolsuite is usually required when there is ABI
 | 
|---|
| 391 | #       changes and other vital changes done to the tools.
 | 
|---|
| 392 | #
 | 
|---|
| 393 | 
 | 
|---|
| 394 | .PHONY: all-stage1 all-stage1-it
 | 
|---|
| 395 | all-stage1: $(PATH_OBJ)/.all-stage1
 | 
|---|
| 396 | $(PATH_OBJ)/.all-stage1:
 | 
|---|
| 397 |         $(MAKE) $(MAKEOPT) -j 1 -f $(MAKEFILE) all-stage1-it
 | 
|---|
| 398 |         echo "$(@F)" > $(PATH_OBJ)/.last-stage
 | 
|---|
| 399 |         touch $@
 | 
|---|
| 400 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 401 |         @echo "+ Stage 1 - done: $(shell date)"
 | 
|---|
| 402 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 403 | 
 | 
|---|
| 404 | all-stage1-it: \
 | 
|---|
| 405 |                 all-banner-stage1 \
 | 
|---|
| 406 |                 all-builtunix-initial \
 | 
|---|
| 407 |         all-binutils \
 | 
|---|
| 408 |                 all-gcc \
 | 
|---|
| 409 |                 all-emx
 | 
|---|
| 410 | 
 | 
|---|
| 411 | .PHONY: all-stage2 all-stage2-it
 | 
|---|
| 412 | all-stage2: $(PATH_OBJ)/.all-stage2
 | 
|---|
| 413 | $(PATH_OBJ)/.all-stage2: \
 | 
|---|
| 414 |                 $(PATH_OBJ)/.all-stage2.save-stage1
 | 
|---|
| 415 |         $(MAKE) $(MAKEOPT) -j 1 -f $(MAKEFILE) all-stage2-it
 | 
|---|
| 416 |         echo "$(@F)" > $(PATH_OBJ)/.last-stage
 | 
|---|
| 417 |         touch $@
 | 
|---|
| 418 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 419 |         @echo "+ Stage 2 - done: $(shell date)"
 | 
|---|
| 420 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 421 | 
 | 
|---|
| 422 | $(PATH_OBJ)/.all-stage2.save-stage1:
 | 
|---|
| 423 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 424 |         @echo "+ Saving Stage 1 - Starting: $(shell date)"
 | 
|---|
| 425 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 426 |         $(MAKE) $(MAKEOPT) -j 1 -f $(MAKEFILE) all-preload-unload
 | 
|---|
| 427 |         $(MAKE) $(MAKEOPT) -j 1 -f $(MAKEFILE) all-builtunix-stage2
 | 
|---|
| 428 |         rm -Rf $(PATH_OBJ)/stage1
 | 
|---|
| 429 |         mkdir -p $(PATH_OBJ)/stage1
 | 
|---|
| 430 |         if [ -d $(PATH_OBJ)/gcc ] ; then mv $(PATH_OBJ)/gcc $(PATH_OBJ)/stage1/gcc; fi
 | 
|---|
| 431 |         if [ -d $(PATH_OBJ)/emx ] ; then mv $(PATH_OBJ)/emx $(PATH_OBJ)/stage1/emx; fi
 | 
|---|
| 432 |         $(MAKE) $(MAKEOPT) -j 1 -f $(MAKEFILE) all-preload
 | 
|---|
| 433 |         touch $@
 | 
|---|
| 434 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 435 |         @echo "+ Saving Stage 1 - done: $(shell date)"
 | 
|---|
| 436 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 437 | 
 | 
|---|
| 438 | all-stage2-it: \
 | 
|---|
| 439 |                 all-banner-stage2 \
 | 
|---|
| 440 |         all-binutils \
 | 
|---|
| 441 |                 all-gcc \
 | 
|---|
| 442 |         all-emx
 | 
|---|
| 443 | 
 | 
|---|
| 444 | 
 | 
|---|
| 445 | #
 | 
|---|
| 446 | # Install to bin tree makeing it ready for packing.
 | 
|---|
| 447 | #
 | 
|---|
| 448 | .PHONY: all-install
 | 
|---|
| 449 | all-install: \
 | 
|---|
| 450 |         all-banner-install \
 | 
|---|
| 451 |         gcc-install     \
 | 
|---|
| 452 |         emx-install \
 | 
|---|
| 453 |         misc-install \
 | 
|---|
| 454 |         all-strip-install \
 | 
|---|
| 455 |         all-banner-install-done \
 | 
|---|
| 456 | 
 | 
|---|
| 457 | # strips release build installations.
 | 
|---|
| 458 | .PHONY: all-strip-install
 | 
|---|
| 459 | all-strip-install:
 | 
|---|
| 460 | ifeq ($(BUILD_MODE), RELEASE)
 | 
|---|
| 461 |         echo "Stripping installed binaries..."
 | 
|---|
| 462 |         exes="`find $(PATH_BIN) -name '*.exe' | sed -e 's,/,\\\\,g'`"; \
 | 
|---|
| 463 |         dlls="`find $(PATH_BIN) -name '*.dll' | sed -e 's,/,\\\\,g'`"; \
 | 
|---|
| 464 |         for i in $$exes $$dlls; \
 | 
|---|
| 465 |         do \
 | 
|---|
| 466 |                 if lxlite /F+ /AP:4096 /MRN /MLN /MF1 $$i; then true; \
 | 
|---|
| 467 |                 else exit 1; \
 | 
|---|
| 468 |                 fi; \
 | 
|---|
| 469 |         done
 | 
|---|
| 470 | endif
 | 
|---|
| 471 | 
 | 
|---|
| 472 | 
 | 
|---|
| 473 | #
 | 
|---|
| 474 | # Generate all the diffs we have to supply.
 | 
|---|
| 475 | #
 | 
|---|
| 476 | .PHONY: all-diff
 | 
|---|
| 477 | all-diff: \
 | 
|---|
| 478 |         gcc-diff \
 | 
|---|
| 479 |         binutils-diff \
 | 
|---|
| 480 |         emx-diff \
 | 
|---|
| 481 | 
 | 
|---|
| 482 | 
 | 
|---|
| 483 | 
 | 
|---|
| 484 | 
 | 
|---|
| 485 | 
 | 
|---|
| 486 | ###############################################################################
 | 
|---|
| 487 | ###############################################################################
 | 
|---|
| 488 | ###############################################################################
 | 
|---|
| 489 | #
 | 
|---|
| 490 | #    Q u i c k   b o o t s t r a p p i n g
 | 
|---|
| 491 | #
 | 
|---|
| 492 | ###############################################################################
 | 
|---|
| 493 | ###############################################################################
 | 
|---|
| 494 | ###############################################################################
 | 
|---|
| 495 | 
 | 
|---|
| 496 | # This is the default buildtype now.
 | 
|---|
| 497 | # It requires a very up-to-date gcc build, not good for bootstrapping from old GCCs.
 | 
|---|
| 498 | .PHONY: quick all-quick
 | 
|---|
| 499 | quick all-quick:
 | 
|---|
| 500 |         mkdir -p $(PATH_OBJ)
 | 
|---|
| 501 |         $(NICE) $(MAKE) $(MAKEOPT) -j 1 -C . all-quick-logged 2>&1 | $(UNIXROOT)/usr/bin/tee $(PATH_OBJ)/build-`date +"%Y%m%d-%H%M%S"`.log
 | 
|---|
| 502 | 
 | 
|---|
| 503 | all-quick-banner-start:
 | 
|---|
| 504 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 505 |         @echo "+ Quick Bootstrap started:            $(shell date)"
 | 
|---|
| 506 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 507 | .PHONY: all-quick-logged
 | 
|---|
| 508 | all-quick-logged: \
 | 
|---|
| 509 |         all-quick-banner-start \
 | 
|---|
| 510 |                 all-env \
 | 
|---|
| 511 |                 all-sanity \
 | 
|---|
| 512 |                 all-quick-builtunix-initial \
 | 
|---|
| 513 |                 all-versionstamps \
 | 
|---|
| 514 |                 all-symlinks-unlink \
 | 
|---|
| 515 |                 \
 | 
|---|
| 516 |                 all-quick-step1 \
 | 
|---|
| 517 |                 all-quick-step2 \
 | 
|---|
| 518 |                 all-quick-step3 \
 | 
|---|
| 519 |                 all-quick-step4 \
 | 
|---|
| 520 |                 \
 | 
|---|
| 521 |                 all-quick-install \
 | 
|---|
| 522 |                 all-preload-unload
 | 
|---|
| 523 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 524 |         @echo "+ Quick Bootstrap Ended Successfully: $(shell date)"
 | 
|---|
| 525 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 526 | 
 | 
|---|
| 527 | .PHONY: all-quick-builtunix-initial
 | 
|---|
| 528 | all-quick-builtunix-initial: $(PATH_OBJ)/.quick-builtunix-initial
 | 
|---|
| 529 | all-quick-builtunix-initial-it: \
 | 
|---|
| 530 |                 all-preload-unload \
 | 
|---|
| 531 |                 all-builtunix-initial \
 | 
|---|
| 532 |                 all-preload
 | 
|---|
| 533 | $(PATH_OBJ)/.quick-builtunix-initial:
 | 
|---|
| 534 |         $(MAKE) $(MAKEOPT) -f $(MAKEFILE) all-quick-builtunix-initial-it
 | 
|---|
| 535 |         touch $@
 | 
|---|
| 536 | 
 | 
|---|
| 537 | 
 | 
|---|
| 538 | # This build type is used for release builds.
 | 
|---|
| 539 | # We're doing two quick builds here to ensure everything is alright.
 | 
|---|
| 540 | .PHONY: double-quick all-double-quick
 | 
|---|
| 541 | double-quick all-double-quick:
 | 
|---|
| 542 |         mkdir -p $(PATH_OBJ)
 | 
|---|
| 543 |         $(NICE) $(MAKE) $(MAKEOPT) -j 1 -C . all-double-quick-logged 2>&1 | $(UNIXROOT)/usr/bin/tee $(PATH_OBJ)/build-`date +"%Y%m%d-%H%M%S"`.log
 | 
|---|
| 544 | 
 | 
|---|
| 545 | all-double-quick-banner-start:
 | 
|---|
| 546 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 547 |         @echo "+ Double Quick Bootstrap started:            $(shell date)"
 | 
|---|
| 548 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 549 | PHONY: all-double-quick-logged
 | 
|---|
| 550 | all-double-quick-logged: \
 | 
|---|
| 551 |         all-double-quick-banner-start \
 | 
|---|
| 552 |                 all-env \
 | 
|---|
| 553 |                 all-sanity \
 | 
|---|
| 554 |                 all-preload-unload \
 | 
|---|
| 555 |                 all-double-quick-builtunix-initial \
 | 
|---|
| 556 |                 all-preload \
 | 
|---|
| 557 |                 all-versionstamps \
 | 
|---|
| 558 |                 all-symlinks-unlink \
 | 
|---|
| 559 |                 \
 | 
|---|
| 560 |                 all-double-quick-stage1 \
 | 
|---|
| 561 |                 all-preload-unload \
 | 
|---|
| 562 |                 all-double-quick-save-stage1 \
 | 
|---|
| 563 |                 all-preload \
 | 
|---|
| 564 |                 all-double-quick-stage2 \
 | 
|---|
| 565 |                 \
 | 
|---|
| 566 |                 all-quick-install \
 | 
|---|
| 567 |                 all-preload-unload
 | 
|---|
| 568 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 569 |         @echo "+ Double Quick Bootstrap Ended Successfully: $(shell date)"
 | 
|---|
| 570 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 571 | 
 | 
|---|
| 572 | .PHONY: all-double-quick-builtunix-initial
 | 
|---|
| 573 | all-double-quick-builtunix-initial: $(PATH_OBJ)/.doublequick-builtunix-initial
 | 
|---|
| 574 | all-double-quick-builtunix-initial-it: \
 | 
|---|
| 575 |                 all-preload-unload \
 | 
|---|
| 576 |                 all-builtunix-initial \
 | 
|---|
| 577 |                 all-preload
 | 
|---|
| 578 | $(PATH_OBJ)/.doublequick-builtunix-initial:
 | 
|---|
| 579 |         $(MAKE) $(MAKEOPT) -f $(MAKEFILE) all-double-quick-builtunix-initial-it
 | 
|---|
| 580 |         touch $@
 | 
|---|
| 581 | 
 | 
|---|
| 582 | # stage1
 | 
|---|
| 583 | .PHONY: all-double-quick-stage1 all-double-quick-stage1-it
 | 
|---|
| 584 | all-double-quick-stage1: $(PATH_OBJ)/.doublequick-stage1
 | 
|---|
| 585 | all-double-quick-stage1-it: \
 | 
|---|
| 586 |                 all-quick-step1 \
 | 
|---|
| 587 |                 all-quick-step2 \
 | 
|---|
| 588 |                 all-quick-step3 \
 | 
|---|
| 589 |                 all-quick-step4
 | 
|---|
| 590 | $(PATH_OBJ)/.doublequick-stage1:
 | 
|---|
| 591 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 592 |         @echo "+ Double Quick Bootstrap Stage 1 - starting: $(shell date)"
 | 
|---|
| 593 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 594 |         $(MAKE) $(MAKEOPT) -f $(MAKEFILE) all-double-quick-stage1-it
 | 
|---|
| 595 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 596 |         @echo "+ Double Quick Bootstrap Stage 1 - done:     $(shell date)"
 | 
|---|
| 597 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 598 |         touch $@
 | 
|---|
| 599 | 
 | 
|---|
| 600 | # save stage1
 | 
|---|
| 601 | .PHONY: all-double-quick-save-stage1 all-double-quick-save-stage1-it
 | 
|---|
| 602 | all-double-quick-save-stage1: $(PATH_OBJ)/.doublequick-stage1-saved
 | 
|---|
| 603 | all-double-quick-save-stage1-it: all-preload-unload
 | 
|---|
| 604 |         mkdir -p $(PATH_OBJ)/stage1
 | 
|---|
| 605 |         if [ -d $(PATH_OBJ)/emx      ]; then rm -Rf $(PATH_OBJ)/stage1/emx      && mv $(PATH_OBJ)/emx      $(PATH_OBJ)/stage1/emx;      fi
 | 
|---|
| 606 |         if [ -d $(PATH_OBJ)/binutils ]; then rm -Rf $(PATH_OBJ)/stage1/binutils && mv $(PATH_OBJ)/binutils $(PATH_OBJ)/stage1/binutils; fi
 | 
|---|
| 607 |         if [ -d $(PATH_OBJ)/gcc      ]; then rm -Rf $(PATH_OBJ)/stage1/gcc      && mv $(PATH_OBJ)/gcc      $(PATH_OBJ)/stage1/gcc;      fi
 | 
|---|
| 608 |         if [ -f $(PATH_OBJ)/.quick-last-step ]; then mv -f $(PATH_OBJ)/.quick-last-step  $(PATH_OBJ)/stage1; fi
 | 
|---|
| 609 |         rm -f $(PATH_OBJ)/.quick*
 | 
|---|
| 610 | $(PATH_OBJ)/.doublequick-stage1-saved:
 | 
|---|
| 611 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 612 |         @echo "+ Double Quick Bootstrap Saving Stage 1 - starting:  $(shell date)"
 | 
|---|
| 613 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 614 |         $(MAKE) $(MAKEOPT) -f $(MAKEFILE) all-double-quick-save-stage1-it
 | 
|---|
| 615 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 616 |         @echo "+ Double Quick Bootstrap Saving Stage 1 - done:      $(shell date)"
 | 
|---|
| 617 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 618 |         touch $@
 | 
|---|
| 619 | 
 | 
|---|
| 620 | # stage2
 | 
|---|
| 621 | .PHONY: all-double-quick-stage2 all-double-quick-stage2-it
 | 
|---|
| 622 | all-double-quick-stage2: $(PATH_OBJ)/.doublequick-stage2
 | 
|---|
| 623 | all-double-quick-stage2-it: \
 | 
|---|
| 624 |                 all-quick-step1 \
 | 
|---|
| 625 |                 all-quick-step2 \
 | 
|---|
| 626 |                 all-quick-step3 \
 | 
|---|
| 627 |                 all-quick-step4
 | 
|---|
| 628 | $(PATH_OBJ)/.doublequick-stage2:
 | 
|---|
| 629 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 630 |         @echo "+ Double Quick Bootstrap Stage 2 - starting: $(shell date)"
 | 
|---|
| 631 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 632 |         $(MAKE) $(MAKEOPT) -f $(MAKEFILE) all-double-quick-stage2-it
 | 
|---|
| 633 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 634 |         @echo "+ Double Quick Bootstrap Stage 2 - done:     $(shell date)"
 | 
|---|
| 635 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 636 |         touch $@
 | 
|---|
| 637 | 
 | 
|---|
| 638 | 
 | 
|---|
| 639 | # step 1 builds the base libraries.
 | 
|---|
| 640 | .PHONY: all-quick-step1 all-quick-step1-it
 | 
|---|
| 641 | all-quick-step1: $(PATH_OBJ)/.quick-step1
 | 
|---|
| 642 | all-quick-step1-it: \
 | 
|---|
| 643 |                 all-preload \
 | 
|---|
| 644 |         emx-quick-libs \
 | 
|---|
| 645 |                 all-preload-unload \
 | 
|---|
| 646 |                 emx-quick-libs-install \
 | 
|---|
| 647 |                 all-preload
 | 
|---|
| 648 | $(PATH_OBJ)/.quick-step1:
 | 
|---|
| 649 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 650 |         @echo "+ Quick Bootstrap Step 1 - starting: $(shell date)"
 | 
|---|
| 651 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 652 |         $(MAKE) $(MAKEOPT) -f $(MAKEFILE) all-quick-step1-it
 | 
|---|
| 653 |         echo "$(@F)" > $(PATH_OBJ)/.quick-last-step
 | 
|---|
| 654 |         touch $@
 | 
|---|
| 655 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 656 |         @echo "+ Quick Bootstrap Step 1 - done:     $(shell date)"
 | 
|---|
| 657 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 658 | 
 | 
|---|
| 659 | # step 2 builds the emx base utilities.
 | 
|---|
| 660 | .PHONY: all-quick-step2 all-quick-step2-it
 | 
|---|
| 661 | all-quick-step2: $(PATH_OBJ)/.quick-step2
 | 
|---|
| 662 | all-quick-step2-it: \
 | 
|---|
| 663 |         emx-quick-rest \
 | 
|---|
| 664 |                 all-preload-unload \
 | 
|---|
| 665 |                 emx-quick-rest-install \
 | 
|---|
| 666 |                 all-preload
 | 
|---|
| 667 | $(PATH_OBJ)/.quick-step2:
 | 
|---|
| 668 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 669 |         @echo "+ Quick Bootstrap Step 2 - starting: $(shell date)"
 | 
|---|
| 670 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 671 |         $(MAKE) $(MAKEOPT) -f $(MAKEFILE) all-quick-step2-it
 | 
|---|
| 672 |         echo "$(@F)" > $(PATH_OBJ)/.quick-last-step
 | 
|---|
| 673 |         touch $@
 | 
|---|
| 674 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 675 |         @echo "+ Quick Bootstrap Step 2 - done:     $(shell date)"
 | 
|---|
| 676 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 677 | 
 | 
|---|
| 678 | # step 3 builds all the binutil utilities and libraries.
 | 
|---|
| 679 | .PHONY: all-quick-step3 all-quick-step3-it
 | 
|---|
| 680 | all-quick-step3: $(PATH_OBJ)/.quick-step3
 | 
|---|
| 681 | all-quick-step3-it: \
 | 
|---|
| 682 |         binutils-quick \
 | 
|---|
| 683 |                 all-preload-unload \
 | 
|---|
| 684 |                 binutils-quick-installstage \
 | 
|---|
| 685 |                 all-preload
 | 
|---|
| 686 | $(PATH_OBJ)/.quick-step3:
 | 
|---|
| 687 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 688 |         @echo "+ Quick Bootstrap Step 3 - starting: $(shell date)"
 | 
|---|
| 689 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 690 |         $(MAKE) $(MAKEOPT) -f $(MAKEFILE) all-quick-step3-it
 | 
|---|
| 691 |         echo "$(@F)" > $(PATH_OBJ)/.quick-last-step
 | 
|---|
| 692 |         touch $@
 | 
|---|
| 693 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 694 |         @echo "+ Quick Bootstrap Step 3 - done:     $(shell date)"
 | 
|---|
| 695 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 696 | 
 | 
|---|
| 697 | # step 4 builds gcc.
 | 
|---|
| 698 | .PHONY: all-quick-step4 all-quick-step4-it
 | 
|---|
| 699 | all-quick-step4: $(PATH_OBJ)/.quick-step4
 | 
|---|
| 700 | all-quick-step4-it: \
 | 
|---|
| 701 |         gcc-quick \
 | 
|---|
| 702 |                 all-preload-unload \
 | 
|---|
| 703 |                 gcc-quick-installstage \
 | 
|---|
| 704 |                 all-preload
 | 
|---|
| 705 | $(PATH_OBJ)/.quick-step4:
 | 
|---|
| 706 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 707 |         @echo "+ Quick Bootstrap Step 4 - starting: $(shell date)"
 | 
|---|
| 708 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 709 |         $(MAKE) $(MAKEOPT) -f $(MAKEFILE) all-quick-step4-it
 | 
|---|
| 710 |         echo "$(@F)" > $(PATH_OBJ)/.quick-last-step
 | 
|---|
| 711 |         touch $@
 | 
|---|
| 712 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 713 |         @echo "+ Quick Bootstrap Step 4 - done:     $(shell date)"
 | 
|---|
| 714 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| 715 | 
 | 
|---|
| 716 | 
 | 
|---|
| 717 | # Installs the stuff we've built.
 | 
|---|
| 718 | .PHONY: all-quick-install
 | 
|---|
| 719 | all-quick-install: \
 | 
|---|
| 720 |                 all-banner-install \
 | 
|---|
| 721 |                 gcc-install     \
 | 
|---|
| 722 |                 binutils-install \
 | 
|---|
| 723 |                 emx-install \
 | 
|---|
| 724 |                 misc-install \
 | 
|---|
| 725 |                 all-strip-install \
 | 
|---|
| 726 |                 all-banner-install-done
 | 
|---|
| 727 | 
 | 
|---|
| 728 | 
 | 
|---|
| 729 | ###############################################################################
 | 
|---|
| 730 | ###############################################################################
 | 
|---|
| 731 | ###############################################################################
 | 
|---|
| 732 | #
 | 
|---|
| 733 | #    B u i l t   U n i x
 | 
|---|
| 734 | #
 | 
|---|
| 735 | ###############################################################################
 | 
|---|
| 736 | ###############################################################################
 | 
|---|
| 737 | ###############################################################################
 | 
|---|
| 738 | 
 | 
|---|
| 739 | all-builtunix-initial: \
 | 
|---|
| 740 |                 all-banner-builtunix-initial \
 | 
|---|
| 741 |                 all-builtunix-clean \
 | 
|---|
| 742 |         all-builtunix-dirs \
 | 
|---|
| 743 |                 $(PATH_BUILTTOOLS)/bin/dllar.cmd \
 | 
|---|
| 744 |                 $(PATH_BUILTTOOLS)/omfhack/ar.exe \
 | 
|---|
| 745 |                 $(PATH_BUILTTOOLS)/omfhack/realar.exe \
 | 
|---|
| 746 |                 $(PATH_BUILTTOOLS)/omfhack/ranlib.exe
 | 
|---|
| 747 | 
 | 
|---|
| 748 | all-builtunix-clean: \
 | 
|---|
| 749 |                 all-preload-unload
 | 
|---|
| 750 |         rm -Rf $(PATH_BUILTUNIX)
 | 
|---|
| 751 | 
 | 
|---|
| 752 | all-builtunix-dirs:
 | 
|---|
| 753 |         mkdir -p $(PATH_BUILTTOOLS)/bin $(PATH_BUILTTOOLS)/lib $(PATH_BUILTTOOLS)/include $(PATH_BUILTTOOLS)/omfhack
 | 
|---|
| 754 | 
 | 
|---|
| 755 | $(PATH_BUILTTOOLS)/bin/dllar.cmd $(PATH_BUILTTOOLS_TMP)/bin/dllar.cmd: $(PATH_TOP)/src/misc/dllar.cmd
 | 
|---|
| 756 |         cp $< $@
 | 
|---|
| 757 | $(PATH_BUILTTOOLS)/omfhack/ranlib.exe $(PATH_BUILTTOOLS_TMP)/omfhack/ranlib.exe: $(PATH_TOP)/tools/bin/true.exe
 | 
|---|
| 758 |         cp $< $@
 | 
|---|
| 759 | $(PATH_BUILTTOOLS)/omfhack/ar.exe: $(PATH_IGCC)/bin/emxomfar.exe
 | 
|---|
| 760 |         cp $< $@
 | 
|---|
| 761 | $(PATH_BUILTTOOLS_TMP)/omfhack/ar.exe: $(PATH_BUILTTOOLS_TMP)/bin/emxomfar.exe
 | 
|---|
| 762 |         cp $< $@
 | 
|---|
| 763 | $(PATH_BUILTTOOLS)/omfhack/realar.exe $(PATH_BUILTTOOLS_TMP)/omfhack/realar.exe: $(PATH_IGCC)/bin/ar.exe
 | 
|---|
| 764 |         cp $< $@
 | 
|---|
| 765 | $(PATH_BUILTTOOLS_TMP)/omfhack:
 | 
|---|
| 766 |         mkdir -p $@
 | 
|---|
| 767 | 
 | 
|---|
| 768 | all-builtunix-stage2: \
 | 
|---|
| 769 |                 all-banner-builtunix-stage2 \
 | 
|---|
| 770 |                 gcc-builtunix-stage2 \
 | 
|---|
| 771 |                 emx-builtunix-stage2 \
 | 
|---|
| 772 |                 all-builtunix-stage2-libs \
 | 
|---|
| 773 |                 $(PATH_BUILTTOOLS_TMP)/bin/dllar.cmd \
 | 
|---|
| 774 |                 $(PATH_BUILTTOOLS_TMP)/omfhack \
 | 
|---|
| 775 |                 $(PATH_BUILTTOOLS_TMP)/omfhack/ar.exe \
 | 
|---|
| 776 |                 $(PATH_BUILTTOOLS_TMP)/omfhack/realar.exe \
 | 
|---|
| 777 |                 $(PATH_BUILTTOOLS_TMP)/omfhack/ranlib.exe \
 | 
|---|
| 778 |                 all-builtunix-clean
 | 
|---|
| 779 |         mv -f $(PATH_BUILTUNIX_TMP) $(PATH_BUILTUNIX)
 | 
|---|
| 780 | 
 | 
|---|
| 781 | all-builtunix-stage2-libs:
 | 
|---|
| 782 |         -for aoutlib in `find $(PATH_BUILTUNIX_TMP) -name "*.a" | sed -e 's/\.a$$//' `; \
 | 
|---|
| 783 |         do \
 | 
|---|
| 784 |                 if [ ! -f $(aoutlib).lib ]; then \
 | 
|---|
| 785 |                         echo "  $${aoutlib}"; \
 | 
|---|
| 786 |                         $(PATH_BUILTTOOLS_TMP)/bin/emxomf.exe $${aoutlib}.a; \
 | 
|---|
| 787 |                 fi;\
 | 
|---|
| 788 |         done
 | 
|---|
| 789 | 
 | 
|---|
| 790 | 
 | 
|---|
| 791 | ###############################################################################
 | 
|---|
| 792 | ###############################################################################
 | 
|---|
| 793 | ###############################################################################
 | 
|---|
| 794 | #
 | 
|---|
| 795 | #    S y m l i n k s
 | 
|---|
| 796 | #
 | 
|---|
| 797 | #
 | 
|---|
| 798 | #               We use symlinking of binutils stuff into the gcc tree so we can
 | 
|---|
| 799 | #               build everything in one go and take advantage of the gcc
 | 
|---|
| 800 | #               makesystem which will use the binutils we built when doing the
 | 
|---|
| 801 | #               gcc libraries and such.
 | 
|---|
| 802 | #
 | 
|---|
| 803 | #               On OS/2 symlinks doesn't exist so, we'll copy the source trees.
 | 
|---|
| 804 | #               Copy because this will for directories work ok with cvs, moving
 | 
|---|
| 805 | #               directories would cause 'cvs update -d' to refetch stuff.
 | 
|---|
| 806 | #
 | 
|---|
| 807 | #               IMPORTANT! Take care, the 'symlined' stuff will be removed at the
 | 
|---|
| 808 | #               end of the build. Remeber to do all-symlinks-unlink before a fresh
 | 
|---|
| 809 | #               build is started as the duplicated binutils things doesn't get
 | 
|---|
| 810 | #               updated by cvs.
 | 
|---|
| 811 | #
 | 
|---|
| 812 | #
 | 
|---|
| 813 | #w##############################################################################
 | 
|---|
| 814 | ###############################################################################
 | 
|---|
| 815 | ###############################################################################
 | 
|---|
| 816 | all-symlinks: \
 | 
|---|
| 817 |                 all-banner-symlinks-start \
 | 
|---|
| 818 |                 all-symlinks-binutils \
 | 
|---|
| 819 |                 all-banner-symlinks-done
 | 
|---|
| 820 | 
 | 
|---|
| 821 | all-symlinks-unlink: \
 | 
|---|
| 822 |                 all-banner-symlinks-unlink-start \
 | 
|---|
| 823 |                 all-symlinks-unlink-binutils \
 | 
|---|
| 824 |                 all-banner-symlinks-unlink-done
 | 
|---|
| 825 | 
 | 
|---|
| 826 | 
 | 
|---|
| 827 | ifeq "$(BUILD_PLATFORM)" "OS2"
 | 
|---|
| 828 | TOOL_SYMLINK_FILE   = cp -p
 | 
|---|
| 829 | TOOL_SYMLINK_DIR    = cp -pRf
 | 
|---|
| 830 | TOOL_SYMLINK_MKDIR  = mkdir
 | 
|---|
| 831 | TOOL_UNSYMLINK_DIR  = rm -Rf
 | 
|---|
| 832 | else
 | 
|---|
| 833 | TOOL_SYMLINK_FILE   = ln -fs
 | 
|---|
| 834 | TOOL_SYMLINK_DIR    = ln -fs
 | 
|---|
| 835 | TOOL_SYMLINK_MKDIR  = true
 | 
|---|
| 836 | TOOL_UNSYMLINK_DIR  = rm
 | 
|---|
| 837 | endif
 | 
|---|
| 838 | 
 | 
|---|
| 839 | # ld is broken, so don't use it!
 | 
|---|
| 840 | # ld \
 | 
|---|
| 841 | 
 | 
|---|
| 842 | SYMLINKS_BINUTILS_TO_GCC_DIRS = \
 | 
|---|
| 843 | bfd \
 | 
|---|
| 844 | binutils \
 | 
|---|
| 845 | etc \
 | 
|---|
| 846 | gas \
 | 
|---|
| 847 | gprof \
 | 
|---|
| 848 | intl \
 | 
|---|
| 849 | opcodes \
 | 
|---|
| 850 | texinfo \
 | 
|---|
| 851 | libiberty \
 | 
|---|
| 852 | include/aout \
 | 
|---|
| 853 | include/coff \
 | 
|---|
| 854 | include/elf     \
 | 
|---|
| 855 | include/gdb     \
 | 
|---|
| 856 | include/mpw     \
 | 
|---|
| 857 | include/nlm     \
 | 
|---|
| 858 | include/opcode \
 | 
|---|
| 859 | include/regs \
 | 
|---|
| 860 | 
 | 
|---|
| 861 | SYMLINKS_BINUTILS_TO_GCC_FILES = \
 | 
|---|
| 862 | include/alloca-conf.h \
 | 
|---|
| 863 | include/ansidecl.h \
 | 
|---|
| 864 | include/bfdlink.h \
 | 
|---|
| 865 | include/bin-bugs.h \
 | 
|---|
| 866 | include/bout.h \
 | 
|---|
| 867 | include/ChangeLog \
 | 
|---|
| 868 | include/COPYING \
 | 
|---|
| 869 | include/demangle.h \
 | 
|---|
| 870 | include/dis-asm.h \
 | 
|---|
| 871 | include/dyn-string.h \
 | 
|---|
| 872 | include/fibheap.h \
 | 
|---|
| 873 | include/filenames.h \
 | 
|---|
| 874 | include/floatformat.h \
 | 
|---|
| 875 | include/fnmatch.h \
 | 
|---|
| 876 | include/fopen-bin.h \
 | 
|---|
| 877 | include/fopen-same.h \
 | 
|---|
| 878 | include/fopen-vms.h \
 | 
|---|
| 879 | include/gdbm.h \
 | 
|---|
| 880 | include/getopt.h \
 | 
|---|
| 881 | include/hashtab.h \
 | 
|---|
| 882 | include/hp-symtab.h \
 | 
|---|
| 883 | include/ieee.h \
 | 
|---|
| 884 | include/libiberty.h \
 | 
|---|
| 885 | include/MAINTAINERS \
 | 
|---|
| 886 | include/md5.h \
 | 
|---|
| 887 | include/oasys.h \
 | 
|---|
| 888 | include/objalloc.h \
 | 
|---|
| 889 | include/obstack.h \
 | 
|---|
| 890 | include/os9k.h \
 | 
|---|
| 891 | include/partition.h \
 | 
|---|
| 892 | include/progress.h \
 | 
|---|
| 893 | include/safe-ctype.h \
 | 
|---|
| 894 | include/sort.h \
 | 
|---|
| 895 | include/splay-tree.h \
 | 
|---|
| 896 | include/symcat.h \
 | 
|---|
| 897 | include/ternary.h \
 | 
|---|
| 898 | include/xregex.h \
 | 
|---|
| 899 | include/xregex2.h \
 | 
|---|
| 900 | include/xtensa-config.h \
 | 
|---|
| 901 | include/xtensa-isa-internal.h \
 | 
|---|
| 902 | include/xtensa-isa.h \
 | 
|---|
| 903 | 
 | 
|---|
| 904 | 
 | 
|---|
| 905 | # Symlink binutils stuff to gcc.
 | 
|---|
| 906 | #       Note the test should've been "! -e", but that doesn' work in ash... :/
 | 
|---|
| 907 | all-symlinks-binutils:
 | 
|---|
| 908 |         for file in $(SYMLINKS_BINUTILS_TO_GCC_FILES); do \
 | 
|---|
| 909 |                 if [ ! -f "$(PATH_TOP)/src/gcc/.symlinked.`echo $${file} | sed -e 's@/@_@g'`" ]; then  \
 | 
|---|
| 910 |                         echo symlinking file src/gcc/$${file} to src/binutils/$${file} ; \
 | 
|---|
| 911 |                         if      rm -f $(PATH_TOP)/src/gcc/$$file && \
 | 
|---|
| 912 |                                 $(TOOL_SYMLINK_FILE)  $(PATH_TOP)/src/binutils/$$file $(PATH_TOP)/src/gcc/$$file && \
 | 
|---|
| 913 |                                 touch                 $(PATH_TOP)/src/gcc/.symlinked.`echo $${file} | sed -e 's@/@_@g'`; \
 | 
|---|
| 914 |                                 then true ; \
 | 
|---|
| 915 |                         else exit 1; \
 | 
|---|
| 916 |                         fi ; \
 | 
|---|
| 917 |                 fi ; \
 | 
|---|
| 918 |         done
 | 
|---|
| 919 |         for dir in $(SYMLINKS_BINUTILS_TO_GCC_DIRS) ; do \
 | 
|---|
| 920 |                 if [ ! -f "$(PATH_TOP)/src/gcc/.symlinked.`echo $${dir} | sed -e 's@/@_@g'`" ] ; then  \
 | 
|---|
| 921 |                         echo symlinking directory src/gcc/$${dir} to src/binutils/$${dir} ; \
 | 
|---|
| 922 |                         if [ -d "$(PATH_TOP)/src/gcc/$$dir" ] ; then \
 | 
|---|
| 923 |                             echo removing existing directory: $${dir} ; \
 | 
|---|
| 924 |                                 rm -Rf $(PATH_TOP)/src/gcc/$$dir ; \
 | 
|---|
| 925 |                         fi ; \
 | 
|---|
| 926 |                         if      $(TOOL_SYMLINK_MKDIR) $(PATH_TOP)/src/gcc/$$dir && \
 | 
|---|
| 927 |                                 $(TOOL_SYMLINK_DIR)   $(PATH_TOP)/src/binutils/$$dir $(PATH_TOP)/src/gcc/`echo $${dir}| sed -e '/\//!d' -e 's@\([a-zA-z0-9]*\)/.*@\1/@'` ; \
 | 
|---|
| 928 |                                 touch                 $(PATH_TOP)/src/gcc/.symlinked.`echo $${dir} | sed -e 's@/@_@g'` ; \
 | 
|---|
| 929 |                                 then true ; \
 | 
|---|
| 930 |                         else exit 1; \
 | 
|---|
| 931 |                         fi ; \
 | 
|---|
| 932 |                 fi ; \
 | 
|---|
| 933 |         done
 | 
|---|
| 934 |         -ls -a1 src/gcc/.sym*
 | 
|---|
| 935 | 
 | 
|---|
| 936 | all-symlinks-unlink-binutils:
 | 
|---|
| 937 |         for name in `ls src/gcc/.symlinked* | sed -e "s/.*\.symlinked.//" -e "s/_/\//g"`; do \
 | 
|---|
| 938 |                 echo unlinking $${name} ; \
 | 
|---|
| 939 |                 if [ -d "$(PATH_TOP)/src/gcc/$${name}" ] ; then  \
 | 
|---|
| 940 |                         rm -Rf $(PATH_TOP)/src/gcc/$${name} ; \
 | 
|---|
| 941 |                 else \
 | 
|---|
| 942 |                         rm -f $(PATH_TOP)/src/gcc/$${name} ; \
 | 
|---|
| 943 |                 fi ; \
 | 
|---|
| 944 |                 if [ ! -f "$(PATH_TOP)/src/gcc/$${name}" -a ! -d "$(PATH_TOP)/src/gcc/$${name}" ] ; then \
 | 
|---|
| 945 |                         rm  $(PATH_TOP)/src/gcc/.symlinked.`echo $${name} | sed -e 's@/@_@g'` ; \
 | 
|---|
| 946 |                 else \
 | 
|---|
| 947 |                         echo "unlink error: $(PATH_TOP)/src/gcc/$${name} exist" ; \
 | 
|---|
| 948 |                         ls -l "$(PATH_TOP)/src/gcc/$${name}" ; \
 | 
|---|
| 949 |                         exit 1; \
 | 
|---|
| 950 |                 fi ; \
 | 
|---|
| 951 |         done
 | 
|---|
| 952 |         -ls -a1 src/gcc/.sym*
 | 
|---|
| 953 | 
 | 
|---|
| 954 | 
 | 
|---|
| 955 | ###############################################################################
 | 
|---|
| 956 | ###############################################################################
 | 
|---|
| 957 | ###############################################################################
 | 
|---|
| 958 | #
 | 
|---|
| 959 | #    G C C
 | 
|---|
| 960 | #
 | 
|---|
| 961 | ###############################################################################
 | 
|---|
| 962 | ###############################################################################
 | 
|---|
| 963 | ###############################################################################
 | 
|---|
| 964 | all-gcc       gcc:      \
 | 
|---|
| 965 |         gcc-autoconf-refresh \
 | 
|---|
| 966 |         gcc-bootstrap
 | 
|---|
| 967 |         echo "Successfully build GCC."
 | 
|---|
| 968 | 
 | 
|---|
| 969 | 
 | 
|---|
| 970 | 
 | 
|---|
| 971 | GCC_DIRS = \
 | 
|---|
| 972 | gcc/libiberty \
 | 
|---|
| 973 | gcc/zlib \
 | 
|---|
| 974 | gcc/gcc \
 | 
|---|
| 975 | gcc/libstdc++-v3 \
 | 
|---|
| 976 | gcc/boehm-gc \
 | 
|---|
| 977 | gcc/fastjar \
 | 
|---|
| 978 | gcc/libf2c \
 | 
|---|
| 979 | gcc/libf2c/libF77 \
 | 
|---|
| 980 | gcc/libf2c/libI77 \
 | 
|---|
| 981 | gcc/libf2c/libU77 \
 | 
|---|
| 982 | gcc/libffi \
 | 
|---|
| 983 | gcc/libjava \
 | 
|---|
| 984 | gcc/libjava/libltdl \
 | 
|---|
| 985 | gcc/libobjc \
 | 
|---|
| 986 | 
 | 
|---|
| 987 | # Here is a problem, we can't regenerate binutils makefiles when symlinked into
 | 
|---|
| 988 | # gcc. At least not yet. The result is messed up severely.
 | 
|---|
| 989 | not_yet =\
 | 
|---|
| 990 | gcc/bfd \
 | 
|---|
| 991 | gcc/binutils \
 | 
|---|
| 992 | gcc/gas \
 | 
|---|
| 993 | gcc/gprof \
 | 
|---|
| 994 | gcc/ld \
 | 
|---|
| 995 | gcc/libiberty \
 | 
|---|
| 996 | gcc/opcodes
 | 
|---|
| 997 | #gcc/intl
 | 
|---|
| 998 | 
 | 
|---|
| 999 | GCC_CONFIGURE_DIRS = $(GCC_DIRS)
 | 
|---|
| 1000 | 
 | 
|---|
| 1001 | 
 | 
|---|
| 1002 | # configure.in/configure
 | 
|---|
| 1003 | .PHONY: gcc-autoconf-refresh gcc-autoconf-rerun gcc-autoconf-clean gcc-autoconf-remove
 | 
|---|
| 1004 | gcc-autoconf-refresh gcc-autoconf-rerun gcc-autoconf-clean gcc-autoconf-remove:
 | 
|---|
| 1005 | ifeq "$(BUILD_PLATFORM)" "LINUX"
 | 
|---|
| 1006 |         -$(SH) $(PATH_TOP)/xfix.sh
 | 
|---|
| 1007 | endif
 | 
|---|
| 1008 |         for dir in $(GCC_CONFIGURE_DIRS); do \
 | 
|---|
| 1009 |                 echo $$dir; \
 | 
|---|
| 1010 |                 if $(MAKE) $(MAKEOPT) -j 1 $(@:gcc-autoconf-%=%) -f $(PWD)/config.gmk -C src/$$dir ; then \
 | 
|---|
| 1011 |                         true; \
 | 
|---|
| 1012 |                 else \
 | 
|---|
| 1013 |                         exit 8; \
 | 
|---|
| 1014 |                 fi \
 | 
|---|
| 1015 |         done
 | 
|---|
| 1016 | 
 | 
|---|
| 1017 | 
 | 
|---|
| 1018 | # build the components.
 | 
|---|
| 1019 | .PHONY: gcc-bootstrap gcc-build gcc-install gcc-configure
 | 
|---|
| 1020 | gcc-bootstrap gcc-build gcc-install gcc-configure:
 | 
|---|
| 1021 |         mkdir -p $(PATH_OBJ)/gcc
 | 
|---|
| 1022 |         $(MAKE) $(MAKEOPT) -j 1 -C $(PATH_OBJ)/gcc -f $(MAKEFILE) $@-it
 | 
|---|
| 1023 | 
 | 
|---|
| 1024 | # let the build/bootstrap create the gcc import .def file before kicking off a build.
 | 
|---|
| 1025 | gcc-bootstrap gcc-build: src/gcc/gcc/config/i386/emx-libgcc_so_d.def
 | 
|---|
| 1026 | src/gcc/gcc/config/i386/emx-libgcc_so_d.def: src/emx/src/lib/libgcc_d.awk $(PATH_OBJD)/emx/omf/libc.def src/emx/src/lib/libc.def
 | 
|---|
| 1027 |         $(GAWK) -f src/emx/src/lib/libgcc_d.awk $(filter %.def,$^) > $@
 | 
|---|
| 1028 | 
 | 
|---|
| 1029 | 
 | 
|---|
| 1030 | # When changed directory
 | 
|---|
| 1031 | #   We pass down BOOT_ flags for stage2+.
 | 
|---|
| 1032 | #   Because strip is broken on OS/2 we pass -s for release build and -g for
 | 
|---|
| 1033 | #   non release builds - This overrides some stuff in src/gcc/gcc/config/i386/t-emx!
 | 
|---|
| 1034 | # For the 2nd stage we need a hack for using the right specs when linking...
 | 
|---|
| 1035 | #SPEC_HACK = $(if $(wildchar $(PATH_OBJ)/.all-stage1),\
 | 
|---|
| 1036 | #              -specs $(PATH_TOP)/src/emx/src/lib/libc.specs, \
 | 
|---|
| 1037 | #              -specs $(PATH_TOP)/tools/x86.os2/gcc/staged/lib/gcc-lib/i386-pc-os2-emx/$(GCC_VERSION)/specs)
 | 
|---|
| 1038 | SPECS_HACK =
 | 
|---|
| 1039 | gcc-bootstrap-it gcc-build-it: \
 | 
|---|
| 1040 |                 $(PATH_OBJ)/gcc/.ts.configured
 | 
|---|
| 1041 | ifeq "$(BUILD_PLATFORM)" "OS2"
 | 
|---|
| 1042 |         unset GCCLOAD ; export LT_OS2_LDFLAGS="-Zomf -g" ; \
 | 
|---|
| 1043 |         $(MAKE) $(MAKEOPT) -C $(PATH_OBJ)/gcc \
 | 
|---|
| 1044 |             LIBGCC2_DEBUG_CFLAGS="$(BUILD_DEBUGINFO) $(BUILD_OPTIMIZE) -Zhigh-mem " \
 | 
|---|
| 1045 |                       CFLAGS="$(SPEC_HACK) $(BUILD_DEBUGINFO) $(BUILD_OPTIMIZE) -Zhigh-mem" \
 | 
|---|
| 1046 |                     CXXFLAGS="$(SPEC_HACK) $(BUILD_DEBUGINFO) $(BUILD_OPTIMIZE) -Zhigh-mem" \
 | 
|---|
| 1047 |                  BOOT_CFLAGS="$(SPEC_HACK) $(BUILD_DEBUGINFO) $(BUILD_OPTIMIZE) -Zhigh-mem" \
 | 
|---|
| 1048 |                      LDFLAGS="$(SPEC_HACK) $(BUILD_DEBUGINFO) -Zhigh-mem -Zcrtdll -Zstack 1024 -Zomf" \
 | 
|---|
| 1049 |                 BOOT_LDFLAGS="$(SPEC_HACK) $(BUILD_DEBUGINFO) -Zhigh-mem -Zcrtdll -Zstack 1024 -Zomf" \
 | 
|---|
| 1050 |                 $(subst build, all, $(patsubst gcc-%-it, %, $@))
 | 
|---|
| 1051 | else
 | 
|---|
| 1052 |         $(MAKE) $(MAKEOPT) -C $(PATH_OBJ)/gcc $(subst build, all, $(patsubst gcc-%-it, %, $@))
 | 
|---|
| 1053 | endif
 | 
|---|
| 1054 | 
 | 
|---|
| 1055 | # configure it (invoked after directory change).
 | 
|---|
| 1056 | #       We set CC to help configure finding it.
 | 
|---|
| 1057 | #       We also set some LDFLAGS to get omf linking.
 | 
|---|
| 1058 | gcc-configure-it $(PATH_OBJ)/gcc/.ts.configured: $(PATH_TOP)/src/gcc/configure
 | 
|---|
| 1059 | ifeq "$(BUILD_PLATFORM)" "OS2"
 | 
|---|
| 1060 |         $(ASH) -c " \
 | 
|---|
| 1061 |                 export CC=\"gcc.exe\" ; \
 | 
|---|
| 1062 |                 export LDFLAGS=\"$(SPEC_HACK) $(BUILD_DEBUGINFO) -Zhigh-mem -Zcrtdll -Zstack 1024 -Zomf\" ; \
 | 
|---|
| 1063 |                 export BOOT_LDFLAGS=\"$(SPEC_HACK) $(BUILD_DEBUGINFO) -Zhigh-mem -Zcrtdll -Zstack 1024 -Zomf\" ; \
 | 
|---|
| 1064 |                 $< \
 | 
|---|
| 1065 |                 --enable-clh \
 | 
|---|
| 1066 |                 --enable-threads=os2 \
 | 
|---|
| 1067 |                 --enable-shared=libgcc,bfd,opcodes \
 | 
|---|
| 1068 |                 --enable-nls \
 | 
|---|
| 1069 |                 --without-included-gettext \
 | 
|---|
| 1070 |                 --with-local-prefix=$(subst \,/,$(PATH_IGCC)) \
 | 
|---|
| 1071 |                 --prefix=/gcc \
 | 
|---|
| 1072 |                 --with-gnu-as \
 | 
|---|
| 1073 |                 --disable-libgcj \
 | 
|---|
| 1074 |                 --enable-languages=c,c++ "
 | 
|---|
| 1075 | else
 | 
|---|
| 1076 |         $(ASH) -c "$< \
 | 
|---|
| 1077 |                 --disable-clh \
 | 
|---|
| 1078 |                 --enable-shared=libgcc,bfd,opcodes \
 | 
|---|
| 1079 |                 --enable-nls \
 | 
|---|
| 1080 |                 --without-included-gettext \
 | 
|---|
| 1081 |                 --with-local-prefix=$(subst \,/,$(PATH_IGCC)) \
 | 
|---|
| 1082 |                 --prefix=/gcc \
 | 
|---|
| 1083 |                 --with-gnu-as \
 | 
|---|
| 1084 |                 --disable-libgcj \
 | 
|---|
| 1085 |                 --enable-languages=c,c++ "
 | 
|---|
| 1086 | endif
 | 
|---|
| 1087 |         touch $(PATH_OBJ)/gcc/.ts.configured
 | 
|---|
| 1088 | # TODO: Andy, on Linux --enable-clh result in linking errors.
 | 
|---|
| 1089 | 
 | 
|---|
| 1090 | # Install the GCC build
 | 
|---|
| 1091 | #       Repeating the prefix doesn't hurt anybody.
 | 
|---|
| 1092 | gcc-install-it:
 | 
|---|
| 1093 |         $(MAKE) $(MAKEOPT) prefix=$(ALL_PREFIX) install
 | 
|---|
| 1094 | 
 | 
|---|
| 1095 | 
 | 
|---|
| 1096 | # easy, update src/gcc/gcc/version.c
 | 
|---|
| 1097 | gcc-versionstamps:
 | 
|---|
| 1098 |         @echo "Version stamping gcc..."
 | 
|---|
| 1099 |         mv -f $(PATH_TOP)/src/gcc/gcc/version.c $(PATH_TOP)/src/gcc/gcc/version.tmp.c
 | 
|---|
| 1100 |         sed -e '/version_string/s/\([0-9]\.[0-9]*\.[0-9]*\).*/\1 $(INNOTEK_VERSION)";/' \
 | 
|---|
| 1101 |                 $(PATH_TOP)/src/gcc/gcc/version.tmp.c > $(PATH_TOP)/src/gcc/gcc/version.c
 | 
|---|
| 1102 |         rm -f $(PATH_TOP)/src/gcc/gcc/version.tmp.c
 | 
|---|
| 1103 | 
 | 
|---|
| 1104 | 
 | 
|---|
| 1105 | # Install to builtunix directory.
 | 
|---|
| 1106 | ##     WARNING! Another spec HACK!
 | 
|---|
| 1107 | gcc-builtunix-stage2:
 | 
|---|
| 1108 |         $(MAKE) $(MAKEOPT) -C $(PATH_OBJ)/gcc prefix=$(PATH_BUILTTOOLS_TMPD) install
 | 
|---|
| 1109 | ##      cp $(PATH_TOP)/src/emx/src/lib/libc.specs $(PATH_OBJ)/gcc/gcc/specs
 | 
|---|
| 1110 | 
 | 
|---|
| 1111 | 
 | 
|---|
| 1112 | # Quick bootstrap workers.
 | 
|---|
| 1113 | gcc-quick:  \
 | 
|---|
| 1114 |         gcc-autoconf-refresh \
 | 
|---|
| 1115 |         gcc-build
 | 
|---|
| 1116 | 
 | 
|---|
| 1117 | gcc-quick-installstage:
 | 
|---|
| 1118 |         rm -Rf $(PATH_BUILTUNIX_TMP)
 | 
|---|
| 1119 |         $(MAKE) $(MAKEOPT) -C $(PATH_OBJ)/gcc prefix=$(PATH_BUILTTOOLS_TMPD) install
 | 
|---|
| 1120 |         cp -Rf $(PATH_BUILTUNIX_TMP)/* $(PATH_BUILTUNIX)/
 | 
|---|
| 1121 |         rm -Rf $(PATH_BUILTUNIX_TMP)
 | 
|---|
| 1122 | 
 | 
|---|
| 1123 | 
 | 
|---|
| 1124 | # Generate diffs for GCC - part of packing a release.
 | 
|---|
| 1125 | .PHONY: gcc-diff $(ALL_PREFIX)/src/diffs/gcc-$(GCC_VERSION).diff
 | 
|---|
| 1126 | gcc-diff: $(ALL_PREFIX)/src/diffs/gcc-$(GCC_VERSION).diff
 | 
|---|
| 1127 | $(ALL_PREFIX)/src/diffs/gcc-$(GCC_VERSION).diff:
 | 
|---|
| 1128 |         mkdir -p $(@D)
 | 
|---|
| 1129 |         $(TOOL_CVS_DIFF_TREE) $(GCC_CVS_REL) src/gcc > $@
 | 
|---|
| 1130 | 
 | 
|---|
| 1131 | 
 | 
|---|
| 1132 | 
 | 
|---|
| 1133 | 
 | 
|---|
| 1134 | 
 | 
|---|
| 1135 | ###############################################################################
 | 
|---|
| 1136 | ###############################################################################
 | 
|---|
| 1137 | ###############################################################################
 | 
|---|
| 1138 | #
 | 
|---|
| 1139 | #    B i n U t i l s
 | 
|---|
| 1140 | #
 | 
|---|
| 1141 | ###############################################################################
 | 
|---|
| 1142 | ###############################################################################
 | 
|---|
| 1143 | ###############################################################################
 | 
|---|
| 1144 | 
 | 
|---|
| 1145 | BINUTILS_DIRS = \
 | 
|---|
| 1146 | binutils/bfd \
 | 
|---|
| 1147 | binutils/opcodes \
 | 
|---|
| 1148 | binutils/gas \
 | 
|---|
| 1149 | binutils/gprof \
 | 
|---|
| 1150 | binutils/binutils \
 | 
|---|
| 1151 | binutils/ld \
 | 
|---|
| 1152 | 
 | 
|---|
| 1153 | BINUTILS_NOT_DIRS =\
 | 
|---|
| 1154 | binutils/etc \
 | 
|---|
| 1155 | binutils/libiberty
 | 
|---|
| 1156 | #binutils/intl
 | 
|---|
| 1157 | 
 | 
|---|
| 1158 | 
 | 
|---|
| 1159 | BINUTILS_CONFIGURE_DIRS = $(BINUTILS_DIRS) $(BINUTILS_NOT_DIRS)
 | 
|---|
| 1160 | 
 | 
|---|
| 1161 | all-binutils  binutils:
 | 
|---|
| 1162 |         echo "Binutils are build together with the other GNU Tools in GCC."
 | 
|---|
| 1163 |         echo "Separate building of binutils is not configured."
 | 
|---|
| 1164 | 
 | 
|---|
| 1165 | binutils214:    \
 | 
|---|
| 1166 |         binutils-autoconf-refresh \
 | 
|---|
| 1167 |         binutils-build
 | 
|---|
| 1168 |         echo "Successfully build Binutils v2.14."
 | 
|---|
| 1169 | 
 | 
|---|
| 1170 | 
 | 
|---|
| 1171 | 
 | 
|---|
| 1172 | # configure.in/configure
 | 
|---|
| 1173 | .PHONY: binutils-autoconf-refresh binutils-autoconf-rerun binutils-autoconf-clean binutils-autoconf-remove
 | 
|---|
| 1174 | binutils-autoconf-refresh binutils-autoconf-rerun binutils-autoconf-clean binutils-autoconf-remove:
 | 
|---|
| 1175 | ifeq "$(BUILD_PLATFORM)" "LINUX"
 | 
|---|
| 1176 |         -$(SH) $(PATH_TOP)/xfix.sh
 | 
|---|
| 1177 | endif
 | 
|---|
| 1178 |         for dir in $(BINUTILS_CONFIGURE_DIRS); do \
 | 
|---|
| 1179 |                 if $(MAKE) $(MAKEOPT) -j 1 $(@:binutils-autoconf-%=%) -f $(PWD)/config.gmk -C src/$$dir ; then \
 | 
|---|
| 1180 |                         true; \
 | 
|---|
| 1181 |                 else \
 | 
|---|
| 1182 |                         exit 8; \
 | 
|---|
| 1183 |                 fi \
 | 
|---|
| 1184 |         done
 | 
|---|
| 1185 | 
 | 
|---|
| 1186 | 
 | 
|---|
| 1187 | # build the components.
 | 
|---|
| 1188 | .PHONY: binutils-build binutils-install binutils-configure binutils-configure-elf
 | 
|---|
| 1189 | binutils-build binutils-install binutils-configure binutils-configure-elf:
 | 
|---|
| 1190 |         mkdir -p $(PATH_OBJ)/binutils
 | 
|---|
| 1191 |         $(MAKE) $(MAKEOPT) -C $(PATH_OBJ)/binutils -f $(MAKEFILE) $@-it
 | 
|---|
| 1192 | 
 | 
|---|
| 1193 | 
 | 
|---|
| 1194 | # When changed directory
 | 
|---|
| 1195 | binutils-build-it: \
 | 
|---|
| 1196 |                 $(PATH_OBJ)/binutils/.ts.configured
 | 
|---|
| 1197 |         unset GCCLOAD ; export LT_OS2_LDFLAGS="-Zomf -g -Zmap" ; \
 | 
|---|
| 1198 |         $(MAKE) $(MAKEOPT) -C $(PATH_OBJ)/binutils \
 | 
|---|
| 1199 |                 CFLAGS="$(BUILD_DEBUGINFO) $(BUILD_OPTIMIZE) -Zhigh-mem" \
 | 
|---|
| 1200 |                 LDFLAGS="$(BUILD_DEBUGINFO) -Zhigh-mem -Zstack 1024 -Zomf"
 | 
|---|
| 1201 |         unset GCCLOAD ; export LT_OS2_LDFLAGS="-Zomf -g -Zmap" ; \
 | 
|---|
| 1202 |         $(MAKE) $(MAKEOPT) -C $(PATH_OBJ)/binutils/gas-elf \
 | 
|---|
| 1203 |                 CFLAGS="$(BUILD_DEBUGINFO) $(BUILD_OPTIMIZE) -Zhigh-mem" \
 | 
|---|
| 1204 |                 LDFLAGS="$(BUILD_DEBUGINFO) -Zhigh-mem -Zstack 1024 -Zomf"
 | 
|---|
| 1205 |         unset GCCLOAD ; export LT_OS2_LDFLAGS="-Zomf -g -Zmap" ; \
 | 
|---|
| 1206 |         $(MAKE) $(MAKEOPT) -C $(PATH_OBJ)/binutils/ld-elf \
 | 
|---|
| 1207 |                 CFLAGS="$(BUILD_DEBUGINFO) $(BUILD_OPTIMIZE) -Zhigh-mem" \
 | 
|---|
| 1208 |                 LDFLAGS="$(BUILD_DEBUGINFO) -Zhigh-mem -Zstack 1024 -Zomf"
 | 
|---|
| 1209 | 
 | 
|---|
| 1210 | # configure it (invoked after directory change).
 | 
|---|
| 1211 | #       We set CC to help configure finding it.
 | 
|---|
| 1212 | #       And we reconfigure libiberty to the gcc one.
 | 
|---|
| 1213 | binutils-configure-it $(PATH_OBJ)/binutils/.ts.configured: $(PATH_TOP)/src/binutils/configure
 | 
|---|
| 1214 | ifeq "$(BUILD_PLATFORM)" "OS2"
 | 
|---|
| 1215 |         $(ASH) -c " \
 | 
|---|
| 1216 |                 CC=\"gcc.exe\" \
 | 
|---|
| 1217 |                 CFLAGS=\"$(BUILD_DEBUGINFO) $(BUILD_OPTIMIZE) -Zhigh-mem\"  \
 | 
|---|
| 1218 |                 LDFLAGS=\"$(BUILD_DEBUGINFO) -Zhigh-mem -Zstack 1024 -Zomf\" \
 | 
|---|
| 1219 |                 $< \
 | 
|---|
| 1220 |                 --enable-clh \
 | 
|---|
| 1221 |                 --enable-threads=os2 \
 | 
|---|
| 1222 |                 --enable-shared=libgcc,bfd,opcodes \
 | 
|---|
| 1223 |                 --enable-nls \
 | 
|---|
| 1224 |                 --without-included-gettext \
 | 
|---|
| 1225 |                 --with-local-prefix=$(subst \,/,$(PATH_IGCC)) \
 | 
|---|
| 1226 |                 --prefix=/gcc \
 | 
|---|
| 1227 |                 --with-gnu-as \
 | 
|---|
| 1228 |                 --disable-libgcj \
 | 
|---|
| 1229 |                 --enable-languages=c,c++ "
 | 
|---|
| 1230 | else
 | 
|---|
| 1231 |         $(ASH) -c "$< \
 | 
|---|
| 1232 |                 --disable-clh \
 | 
|---|
| 1233 |                 --enable-shared=libgcc,bfd,opcodes \
 | 
|---|
| 1234 |                 --enable-nls \
 | 
|---|
| 1235 |                 --without-included-gettext \
 | 
|---|
| 1236 |                 --with-local-prefix=$(subst \,/,$(PATH_IGCC)) \
 | 
|---|
| 1237 |                 --prefix=/gcc \
 | 
|---|
| 1238 |                 --with-gnu-as \
 | 
|---|
| 1239 |                 --disable-libgcj \
 | 
|---|
| 1240 |                 --enable-languages=c,c++ "
 | 
|---|
| 1241 | endif
 | 
|---|
| 1242 |         mkdir -p gas-elf
 | 
|---|
| 1243 |         $(ASH) -c "cd gas-elf && \
 | 
|---|
| 1244 |                 CC=\"gcc.exe\" \
 | 
|---|
| 1245 |                 CFLAGS=\"$(BUILD_DEBUGINFO) $(BUILD_OPTIMIZE) -Zhigh-mem\" \
 | 
|---|
| 1246 |                 LDFLAGS=\"$(BUILD_DEBUGINFO) -Zhigh-mem -Zstack 1024 -Zomf\" \
 | 
|---|
| 1247 |                 $(PATH_TOP)/src/binutils/gas/configure \
 | 
|---|
| 1248 |                 --target=i386-pc-os2-elf \
 | 
|---|
| 1249 |                 --enable-shared=libgcc,bfd,opcodes \
 | 
|---|
| 1250 |                 --enable-nls \
 | 
|---|
| 1251 |                 --without-included-gettext \
 | 
|---|
| 1252 |                 --with-local-prefix=$(subst \,/,$(PATH_IGCC)) \
 | 
|---|
| 1253 |                 --prefix=/gcc \
 | 
|---|
| 1254 |                 --with-gnu-as \
 | 
|---|
| 1255 |                 --program-suffix=-elf "
 | 
|---|
| 1256 |         mkdir -p ld-elf
 | 
|---|
| 1257 |         $(ASH) -c "cd ld-elf && \
 | 
|---|
| 1258 |                 CC=\"gcc.exe\" \
 | 
|---|
| 1259 |                 CFLAGS=\"$(BUILD_DEBUGINFO) $(BUILD_OPTIMIZE) -Zhigh-mem\"  \
 | 
|---|
| 1260 |                 LDFLAGS=\"$(BUILD_DEBUGINFO) -Zhigh-mem -Zstack 1024 -Zomf\" \
 | 
|---|
| 1261 |                 $(PATH_TOP)/src/binutils/ld/configure \
 | 
|---|
| 1262 |                 --target=i386-pc-os2-elf \
 | 
|---|
| 1263 |                 --enable-shared=libgcc,bfd,opcodes \
 | 
|---|
| 1264 |                 --enable-nls \
 | 
|---|
| 1265 |                 --without-included-gettext \
 | 
|---|
| 1266 |                 --with-local-prefix=$(subst \,/,$(PATH_IGCC)) \
 | 
|---|
| 1267 |                 --prefix=/gcc \
 | 
|---|
| 1268 |                 --with-gnu-as \
 | 
|---|
| 1269 |                 --program-suffix=-elf "
 | 
|---|
| 1270 |         touch $(PATH_OBJ)/binutils/.ts.configured
 | 
|---|
| 1271 | 
 | 
|---|
| 1272 | 
 | 
|---|
| 1273 | 
 | 
|---|
| 1274 | # Install the Binutils build
 | 
|---|
| 1275 | #       Repeating the prefix doesn't hurt anybody.
 | 
|---|
| 1276 | binutils-install-it:
 | 
|---|
| 1277 |         cd gas-elf && $(MAKE) $(MAKEOPT) prefix=$(ALL_PREFIX) install
 | 
|---|
| 1278 |         cd ld-elf  && $(MAKE) $(MAKEOPT) prefix=$(ALL_PREFIX) install
 | 
|---|
| 1279 |         $(MAKE) $(MAKEOPT) prefix=$(ALL_PREFIX) install
 | 
|---|
| 1280 |         mv -f $(ALL_PREFIX)/bin/ld.exe  $(ALL_PREFIX)/bin/ld-bad.exe
 | 
|---|
| 1281 |         mv -f $(ALL_PREFIX)/i386-pc-os2-emx/bin/ld.exe  $(ALL_PREFIX)/i386-pc-os2-emx/bin/ld-bad.exe
 | 
|---|
| 1282 | 
 | 
|---|
| 1283 | 
 | 
|---|
| 1284 | # Not so easy, need to patch a few files.
 | 
|---|
| 1285 | binutils-versionstamps:
 | 
|---|
| 1286 |         @echo "Version stamping binutils..."
 | 
|---|
| 1287 |         cp -f $(PATH_TOP)/src/binutils/binutils/version.c  $(PATH_TOP)/src/binutils/binutils/version.tmp.c
 | 
|---|
| 1288 |         sed -e '/printf.*program_version/s/%s %s.*\\n/%s %s $(INNOTEK_VERSION)\\n/' \
 | 
|---|
| 1289 |                 $(PATH_TOP)/src/binutils/binutils/version.tmp.c > $(PATH_TOP)/src/binutils/binutils/version.c
 | 
|---|
| 1290 |         rm -f $(PATH_TOP)/src/binutils/binutils/version.tmp.c
 | 
|---|
| 1291 |         if [ -f $(PATH_TOP)/src/gcc/binutils/version.c ]; then \
 | 
|---|
| 1292 |                 cp -f $(PATH_TOP)/src/gcc/binutils/version.c  $(PATH_TOP)/src/gcc/binutils/version.tmp.c && \
 | 
|---|
| 1293 |                 sed -e '/printf.*program_version/s/%s %s.*\\n/%s %s $(INNOTEK_VERSION)\\n/' \
 | 
|---|
| 1294 |                         $(PATH_TOP)/src/gcc/binutils/version.tmp.c > $(PATH_TOP)/src/gcc/binutils/version.c && \
 | 
|---|
| 1295 |                 rm -f $(PATH_TOP)/src/gcc/binutils/version.tmp.c ; \
 | 
|---|
| 1296 |         fi
 | 
|---|
| 1297 |         @echo "Version stamping gas..."
 | 
|---|
| 1298 |         cp -f $(PATH_TOP)/src/binutils/gas/as.c $(PATH_TOP)/src/binutils/gas/as.tmp.c
 | 
|---|
| 1299 |         sed -e '/printf.*GNU.*assembler/s/%s.*\\n/%s $(INNOTEK_VERSION)\\n/' \
 | 
|---|
| 1300 |             -e '/fprintf.*GNU.*assembler.*version.*BFD.*/s/using BFD version %s.*/using BFD version %s $(INNOTEK_VERSION)"),/ ' \
 | 
|---|
| 1301 |                 $(PATH_TOP)/src/binutils/gas/as.tmp.c > $(PATH_TOP)/src/binutils/gas/as.c
 | 
|---|
| 1302 |         rm -f $(PATH_TOP)/src/binutils/gas/as.tmp.c
 | 
|---|
| 1303 |         if [ -f $(PATH_TOP)/src/gcc/gas/as.c ]; then \
 | 
|---|
| 1304 |                 cp -f $(PATH_TOP)/src/gcc/gas/as.c  $(PATH_TOP)/src/gcc/gas/as.tmp.c && \
 | 
|---|
| 1305 |                 sed -e '/printf.*GNU.*assembler/s/%s.*\\n/%s $(INNOTEK_VERSION)\\n/' \
 | 
|---|
| 1306 |                         -e '/fprintf.*GNU.*assembler.*version.*BFD.*/s/using BFD version %s.*/using BFD version %s $(INNOTEK_VERSION)"),/ ' \
 | 
|---|
| 1307 |                         $(PATH_TOP)/src/gcc/gas/as.tmp.c > $(PATH_TOP)/src/gcc/gas/as.c && \
 | 
|---|
| 1308 |                 rm -f $(PATH_TOP)/src/gcc/gas/as.tmp.c ; \
 | 
|---|
| 1309 |         fi
 | 
|---|
| 1310 |         @echo "Version stamping ld..."
 | 
|---|
| 1311 |         cp -f $(PATH_TOP)/src/binutils/ld/ldver.c $(PATH_TOP)/src/binutils/ld/ldver.tmp.c
 | 
|---|
| 1312 |         sed -e '/fprintf.*GNU.*ld.*version/s/(with BFD %s).*/(with BFD %s) $(INNOTEK_VERSION)\\n"),/' \
 | 
|---|
| 1313 |                 $(PATH_TOP)/src/binutils/ld/ldver.tmp.c > $(PATH_TOP)/src/binutils/ld/ldver.c
 | 
|---|
| 1314 |         rm -f $(PATH_TOP)/src/binutils/ld/ldver.tmp.c
 | 
|---|
| 1315 |         if [ -f $(PATH_TOP)/src/gcc/ld/ldver.c ]; then \
 | 
|---|
| 1316 |                 cp -f $(PATH_TOP)/src/gcc/ld/ldver.c $(PATH_TOP)/src/gcc/ld/ldver.tmp.c && \
 | 
|---|
| 1317 |                 sed -e '/fprintf.*GNU.*ld.*version/s/(with BFD %s).*/(with BFD %s) $(INNOTEK_VERSION)\\n"),/' \
 | 
|---|
| 1318 |                         $(PATH_TOP)/src/gcc/ld/ldver.tmp.c > $(PATH_TOP)/src/gcc/ld/ldver.c && \
 | 
|---|
| 1319 |                 rm -f $(PATH_TOP)/src/gcc/ld/ldver.tmp.c ; \
 | 
|---|
| 1320 |         fi
 | 
|---|
| 1321 | 
 | 
|---|
| 1322 | 
 | 
|---|
| 1323 | # Quick bootstrap workers.
 | 
|---|
| 1324 | binutils-quick:
 | 
|---|
| 1325 |         GCCLOAD=5 $(MAKE) $(MAKEOPT) -f $(MAKEFILE) binutils214
 | 
|---|
| 1326 | 
 | 
|---|
| 1327 | binutils-quick-installstage:
 | 
|---|
| 1328 |         rm -Rf $(PATH_BUILTUNIX_TMP)
 | 
|---|
| 1329 |         if test -f $(PATH_BUILTTOOLS_TMP)/bin/ld.exe; then cp -f $(PATH_BUILTTOOLS_TMP)/bin/ld.exe                       $(PATH_BUILTTOOLS_TMP)/bin/ld-saved.exe; fi
 | 
|---|
| 1330 |         if test -f $(PATH_BUILTTOOLS_TMP)/i386-pc-os2-emx/bin/ld.exe; then cp -f $(PATH_BUILTTOOLS_TMP)/i386-pc-os2-emx/bin/ld.exe       $(PATH_BUILTTOOLS_TMP)/i386-pc-os2-emx/bin/ld-saved.exe; fi
 | 
|---|
| 1331 |         $(MAKE) $(MAKEOPT) -C $(PATH_OBJ)/binutils prefix=$(PATH_BUILTTOOLS_TMPD) install
 | 
|---|
| 1332 |         mv -f $(PATH_BUILTTOOLS_TMP)/bin/ld.exe                  $(PATH_BUILTTOOLS_TMP)/bin/ld-bad.exe
 | 
|---|
| 1333 |         mv -f $(PATH_BUILTTOOLS_TMP)/i386-pc-os2-emx/bin/ld.exe  $(PATH_BUILTTOOLS_TMP)/i386-pc-os2-emx/bin/ld-bad.exe
 | 
|---|
| 1334 |         if test -f $(PATH_BUILTTOOLS_TMP)/bin/ld-saved.exe; then mv -f $(PATH_BUILTTOOLS_TMP)/bin/ld-saved.exe                 $(PATH_BUILTTOOLS_TMP)/bin/ld.exe; fi
 | 
|---|
| 1335 |         if test -f $(PATH_BUILTTOOLS_TMP)/i386-pc-os2-emx/bin/ld-saved.exe; then mv -f $(PATH_BUILTTOOLS_TMP)/i386-pc-os2-emx/bin/ld-saved.exe $(PATH_BUILTTOOLS_TMP)/i386-pc-os2-emx/bin/ld.exe; fi
 | 
|---|
| 1336 |         cp -Rf $(PATH_BUILTUNIX_TMP)/* $(PATH_BUILTUNIX)/
 | 
|---|
| 1337 |         rm -Rf $(PATH_BUILTUNIX_TMP)
 | 
|---|
| 1338 | 
 | 
|---|
| 1339 | 
 | 
|---|
| 1340 | # Generate diffs for Binutils (part of packing).
 | 
|---|
| 1341 | .PHONY: binutils-diff $(ALL_PREFIX)/src/diffs/binutils-$(BINUTILS_VERSION).diff
 | 
|---|
| 1342 | binutils-diff: $(ALL_PREFIX)/src/diffs/binutils-$(BINUTILS_VERSION).diff
 | 
|---|
| 1343 | $(ALL_PREFIX)/src/diffs/binutils-$(BINUTILS_VERSION).diff:
 | 
|---|
| 1344 |         mkdir -p $(@D)
 | 
|---|
| 1345 |         $(TOOL_CVS_DIFF_TREE) $(BINUTILS_CVS_REL) src/binutils > $@
 | 
|---|
| 1346 | 
 | 
|---|
| 1347 | 
 | 
|---|
| 1348 | 
 | 
|---|
| 1349 | 
 | 
|---|
| 1350 | 
 | 
|---|
| 1351 | 
 | 
|---|
| 1352 | 
 | 
|---|
| 1353 | 
 | 
|---|
| 1354 | ###############################################################################
 | 
|---|
| 1355 | ###############################################################################
 | 
|---|
| 1356 | ###############################################################################
 | 
|---|
| 1357 | #
 | 
|---|
| 1358 | #    E M X
 | 
|---|
| 1359 | #
 | 
|---|
| 1360 | ###############################################################################
 | 
|---|
| 1361 | ###############################################################################
 | 
|---|
| 1362 | ###############################################################################
 | 
|---|
| 1363 | all-emx  emx: \
 | 
|---|
| 1364 |                 emx-build
 | 
|---|
| 1365 |         @echo "Successfully build EMX."
 | 
|---|
| 1366 | 
 | 
|---|
| 1367 | # Some helpers.
 | 
|---|
| 1368 | # TODO: Change OUT and INS to the right ones. Currently not possible as
 | 
|---|
| 1369 | #       doing such breaks the rules generating.
 | 
|---|
| 1370 | EMX_MODE = dbg
 | 
|---|
| 1371 | ifeq "$(BUILD_MODE)" "RELEASE"
 | 
|---|
| 1372 | EMX_MODE = opt
 | 
|---|
| 1373 | endif
 | 
|---|
| 1374 | #EMX_OUT  = out/
 | 
|---|
| 1375 | #EMX_INS  = out/install/
 | 
|---|
| 1376 | EMX_OUT  = $(PATH_OBJD)/emx/
 | 
|---|
| 1377 | EMX_INS  = $(ALL_PREFIX)/
 | 
|---|
| 1378 | EMX_MASM = $(PATH_TOP)/tools/x86.os2/masm/v6.0/binp/ml.exe
 | 
|---|
| 1379 | EMX_DEFINES = "OUT=$(EMX_OUT)" "INS=$(EMX_INS)" "MODE=$(EMX_MODE)" "ASM=$(EMX_MASM) -c"
 | 
|---|
| 1380 | 
 | 
|---|
| 1381 | # build the components. (directory changer rules)
 | 
|---|
| 1382 | .PHONY: emx-build emx-install emx-configure
 | 
|---|
| 1383 | emx-build emx-install:
 | 
|---|
| 1384 |         mkdir -p $(PATH_OBJ)/emx
 | 
|---|
| 1385 |         $(MAKE) $(MAKEOPT) -C $(PATH_TOP)/src/emx -f $(MAKEFILE) $@-it
 | 
|---|
| 1386 | 
 | 
|---|
| 1387 | emx-build-it:
 | 
|---|
| 1388 |         $(MAKE) $(MAKEOPT) -j 1 -C $(PATH_TOP)/src/emx $(EMX_DEFINES) tools
 | 
|---|
| 1389 |         $(MAKE) $(MAKEOPT) -C $(PATH_TOP)/src/emx $(EMX_DEFINES) all
 | 
|---|
| 1390 | 
 | 
|---|
| 1391 | emx-install-it:
 | 
|---|
| 1392 |         $(MAKE) $(MAKEOPT) -C $(PATH_TOP)/src/emx $(EMX_DEFINES) INS=$(ALL_PREFIX)/ install
 | 
|---|
| 1393 | 
 | 
|---|
| 1394 | 
 | 
|---|
| 1395 | # We pass down the INNOTEK_VERSION define when building EMX.
 | 
|---|
| 1396 | emx-versionstamps:
 | 
|---|
| 1397 |         @echo "Version stamping EMX... nothing to do"
 | 
|---|
| 1398 | 
 | 
|---|
| 1399 | # Install the compiled emx stuff to builtunix.
 | 
|---|
| 1400 | emx-builtunix-stage2:
 | 
|---|
| 1401 |         $(MAKE) $(MAKEOPT) -C $(PATH_TOP)/src/emx $(EMX_DEFINES) INS=$(PATH_BUILTTOOLS_TMP)/  install
 | 
|---|
| 1402 | 
 | 
|---|
| 1403 | # Quick bootstrap workers.
 | 
|---|
| 1404 | emx-quick-libs:
 | 
|---|
| 1405 |         GCCLOAD=3 $(MAKE) $(MAKEOPT) -f $(PATH_TOP)/src/emx/libonly.gmk -C $(PATH_TOP)/src/emx $(EMX_DEFINES) all
 | 
|---|
| 1406 | 
 | 
|---|
| 1407 | emx-quick-libs-install:
 | 
|---|
| 1408 |         $(MAKE) $(MAKEOPT) -f $(PATH_TOP)/src/emx/libonly.gmk -C $(PATH_TOP)/src/emx $(EMX_DEFINES) INS=$(PATH_BUILTTOOLS)/ install
 | 
|---|
| 1409 | 
 | 
|---|
| 1410 | emx-quick-rest:
 | 
|---|
| 1411 |         GCCLOAD=3 $(MAKE) $(MAKEOPT) -C $(PATH_TOP)/src/emx $(EMX_DEFINES) all
 | 
|---|
| 1412 | 
 | 
|---|
| 1413 | emx-quick-rest-install:
 | 
|---|
| 1414 |         $(MAKE) $(MAKEOPT) -C $(PATH_TOP)/src/emx $(EMX_DEFINES) INS=$(PATH_BUILTTOOLS)/ install
 | 
|---|
| 1415 | 
 | 
|---|
| 1416 | 
 | 
|---|
| 1417 | # Generate diffs for EMX (part of packing).
 | 
|---|
| 1418 | .PHONY: emx-diff $(ALL_PREFIX)/src/diffs/emx-$(EMX_VERSION).diff
 | 
|---|
| 1419 | emx-diff: $(ALL_PREFIX)/src/diffs/emx-$(EMX_VERSION).diff
 | 
|---|
| 1420 | $(ALL_PREFIX)/src/diffs/emx-$(EMX_VERSION).diff:
 | 
|---|
| 1421 |         mkdir -p $(@D)
 | 
|---|
| 1422 |         $(TOOL_CVS_DIFF_TREE) $(EMX_CVS_REL) src/emx > $@
 | 
|---|
| 1423 | 
 | 
|---|
| 1424 | 
 | 
|---|
| 1425 | 
 | 
|---|
| 1426 | 
 | 
|---|
| 1427 | 
 | 
|---|
| 1428 | ###############################################################################
 | 
|---|
| 1429 | ###############################################################################
 | 
|---|
| 1430 | ###############################################################################
 | 
|---|
| 1431 | #
 | 
|---|
| 1432 | #    P A C K I N G
 | 
|---|
| 1433 | #
 | 
|---|
| 1434 | ###############################################################################
 | 
|---|
| 1435 | ###############################################################################
 | 
|---|
| 1436 | ###############################################################################
 | 
|---|
| 1437 | packing: \
 | 
|---|
| 1438 |                 packing-all \
 | 
|---|
| 1439 |                 packing-doc \
 | 
|---|
| 1440 |                 packing-libc \
 | 
|---|
| 1441 | 
 | 
|---|
| 1442 | ZIPFLAGS=-rX9
 | 
|---|
| 1443 | ZIPBASE=$(PATH_BIN)/GCC-$(GCC_VERSION)-$(GCC_RELEASE_ID)
 | 
|---|
| 1444 | 
 | 
|---|
| 1445 | packing-all:
 | 
|---|
| 1446 |         rm -f $(ZIPBASE).zip
 | 
|---|
| 1447 |         cd $(ALL_PREFIX)/.. ; zip $(ZIPFLAGS) $(ZIPBASE).zip *
 | 
|---|
| 1448 | 
 | 
|---|
| 1449 | packing-doc:
 | 
|---|
| 1450 |         rm -f $(ZIPBASE)-doc.zip
 | 
|---|
| 1451 |         cd $(ALL_PREFIX)/..; zip $(ZIPFLAGS) $(ZIPBASE)-doc.zip usr/doc/GCC-$(GCC_VERSION)/*
 | 
|---|
| 1452 | 
 | 
|---|
| 1453 | packing-libc:
 | 
|---|
| 1454 |         rm -f $(PATH_BIN)/libc-$(LIBC_VERSION)-$(GCC_RELEASE_ID).zip
 | 
|---|
| 1455 |         cd $(ALL_PREFIX)/lib; zip $(ZIPFLAGS) $(PATH_BIN)/libc-$(LIBC_VERSION)-$(GCC_RELEASE_ID).zip libc*.dll gcc*.dll
 | 
|---|
| 1456 |         cd $(ALL_PREFIX)/doc/GCC-$(GCC_VERSION); zip $(ZIPFLAGS) $(PATH_BIN)/libc-$(LIBC_VERSION)-$(GCC_RELEASE_ID).zip COPYING.LIB
 | 
|---|
| 1457 | 
 | 
|---|
| 1458 | packing-src: \
 | 
|---|
| 1459 |                 packing-src-gcc \
 | 
|---|
| 1460 |                 packing-src-binutils \
 | 
|---|
| 1461 |                 packing-src-emx \
 | 
|---|
| 1462 | 
 | 
|---|
| 1463 | packing-src-gcc:
 | 
|---|
| 1464 |         rm -f $(ZIPBASE)-src-GCC.zip
 | 
|---|
| 1465 |         zip $(ZIPFLAGS) $(ZIPBASE)-src-GCC.zip src/gcc -x \*CVS\*
 | 
|---|
| 1466 | 
 | 
|---|
| 1467 | packing-src-binutils:
 | 
|---|
| 1468 |         rm -f $(ZIPBASE)-src-binutils.zip
 | 
|---|
| 1469 |         zip $(ZIPFLAGS) $(ZIPBASE)-src-binutils.zip src/binutils -x \*CVS\*
 | 
|---|
| 1470 | 
 | 
|---|
| 1471 | packing-src-emx:
 | 
|---|
| 1472 |         rm -f $(ZIPBASE)-src-emx.zip
 | 
|---|
| 1473 |         zip $(subst r,,$(ZIPFLAGS)) $(ZIPBASE)-src-emx.zip src/emx/* -x \*CVS\* -x \*testcase\* -x \*out\*
 | 
|---|
| 1474 |         zip $(ZIPFLAGS) $(ZIPBASE)-src-emx.zip src/emx/src/* src/emx/include/* src/emx/src/bsd/* -x \*CVS\*
 | 
|---|
| 1475 | 
 | 
|---|
| 1476 | 
 | 
|---|
| 1477 | ###############################################################################
 | 
|---|
| 1478 | ###############################################################################
 | 
|---|
| 1479 | ###############################################################################
 | 
|---|
| 1480 | #
 | 
|---|
| 1481 | #    M I S C
 | 
|---|
| 1482 | #
 | 
|---|
| 1483 | ###############################################################################
 | 
|---|
| 1484 | ###############################################################################
 | 
|---|
| 1485 | ###############################################################################
 | 
|---|
| 1486 | 
 | 
|---|
| 1487 | misc-install:
 | 
|---|
| 1488 |         mkdir -p $(ALL_PREFIX)/doc/GCC-$(GCC_VERSION)
 | 
|---|
| 1489 |         mkdir -p $(ALL_PREFIX)/lib
 | 
|---|
| 1490 |         mkdir -p $(ALL_PREFIX)/bin
 | 
|---|
| 1491 |         cp $(PATH_TOP)/doc/ReleaseNotes.os2         $(ALL_PREFIX)/doc/GCC-$(GCC_VERSION)
 | 
|---|
| 1492 |         cp $(PATH_TOP)/doc/MailingLists.os2         $(ALL_PREFIX)/doc/GCC-$(GCC_VERSION)
 | 
|---|
| 1493 |         cp $(PATH_TOP)/doc/Install.os2              $(ALL_PREFIX)/doc/GCC-$(GCC_VERSION)
 | 
|---|
| 1494 |         cp $(PATH_TOP)/doc/Licenses.os2             $(ALL_PREFIX)/doc/GCC-$(GCC_VERSION)
 | 
|---|
| 1495 |         cp $(PATH_TOP)/doc/KnownProblems.os2        $(ALL_PREFIX)/doc/GCC-$(GCC_VERSION)
 | 
|---|
| 1496 |         cp $(PATH_TOP)/doc/COPYING.LIB              $(ALL_PREFIX)/doc/GCC-$(GCC_VERSION)
 | 
|---|
| 1497 |         cp $(PATH_TOP)/doc/COPYING                  $(ALL_PREFIX)/doc/GCC-$(GCC_VERSION)
 | 
|---|
| 1498 | #       cp $(PATH_TOP)/ChangeLog                    $(ALL_PREFIX)/doc/GCC-$(GCC_VERSION)/ChangeLog.os2
 | 
|---|
| 1499 |         cp $(PATH_TOP)/src/emx/ChangeLog.LIBC       $(ALL_PREFIX)/doc/GCC-$(GCC_VERSION)
 | 
|---|
| 1500 |         cp $(PATH_TOP)/src/misc/MakeOmfLibs.cmd     $(ALL_PREFIX)/lib
 | 
|---|
| 1501 |         cp $(PATH_TOP)/src/misc/dllar.cmd           $(ALL_PREFIX)/bin
 | 
|---|
| 1502 |         cp $(PATH_TOP)/src/misc/gccenv.cmd          $(ALL_PREFIX)/bin
 | 
|---|
| 1503 | 
 | 
|---|
| 1504 | 
 | 
|---|
| 1505 | #
 | 
|---|
| 1506 | # Checkout rule
 | 
|---|
| 1507 | #
 | 
|---|
| 1508 | checkout update up:
 | 
|---|
| 1509 |         cvs -q update -d -P 2>&1 | tee up.log
 | 
|---|
| 1510 | 
 | 
|---|
| 1511 | ifdef OFFICIAL_BIRD_VERSION
 | 
|---|
| 1512 | ifneq ($(HOSTNAME),eniac)
 | 
|---|
| 1513 | $(error yea, nice try! Now go be ashamed of yourself!)
 | 
|---|
| 1514 | endif
 | 
|---|
| 1515 | endif
 | 
|---|
| 1516 | 
 | 
|---|
| 1517 | # DO NOT DELETE
 | 
|---|