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