| [25] | 1 | # $Id: Makefile 2448 2005-11-15 03:40:28Z bird $
 | 
|---|
 | 2 | #
 | 
|---|
 | 3 | # Top level makefile.
 | 
|---|
 | 4 | #
 | 
|---|
| [1259] | 5 | # InnoTek Systemberatung GmbH confidential
 | 
|---|
| [25] | 6 | #
 | 
|---|
| [1787] | 7 | # Copyright (c) 2003-2005 Knut St. Osmundsen
 | 
|---|
| [1426] | 8 | # Copyright (c) 2003-2004 InnoTek Systemberatung GmbH
 | 
|---|
| [25] | 9 | # Author: knut st. osmundsen <bird@anduin.net>
 | 
|---|
 | 10 | #
 | 
|---|
 | 11 | # All Rights Reserved
 | 
|---|
 | 12 | #
 | 
|---|
 | 13 | 
 | 
|---|
| [34] | 14 |                         
 | 
|---|
 | 15 | ###############################################################################
 | 
|---|
 | 16 | ##   Global Variables
 | 
|---|
| [73] | 17 | ##   (D = no drive)
 | 
|---|
| [34] | 18 | ###############################################################################
 | 
|---|
| [69] | 19 | PWD            := $(shell pwd)
 | 
|---|
 | 20 | PWDD           := $(shell pwd|sed 's/^[a-zA-Z]://')
 | 
|---|
 | 21 | MAKEFILE                = $(PWD)/Makefile
 | 
|---|
| [34] | 22 | 
 | 
|---|
| [111] | 23 | ifndef BUILD_MODE
 | 
|---|
| [34] | 24 | export BUILD_MODE=DEBUG
 | 
|---|
| [25] | 25 | endif
 | 
|---|
| [34] | 26 | 
 | 
|---|
| [69] | 27 | ifndef PATH_TOP
 | 
|---|
 | 28 | export PATH_TOP  := $(PWD)
 | 
|---|
| [76] | 29 | endif
 | 
|---|
 | 30 | ifndef PATH_TOPD
 | 
|---|
| [69] | 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)
 | 
|---|
| [1996] | 39 | export PATH_BUILTUNIX  = $(PATH_OBJ)/builtunix
 | 
|---|
 | 40 | export PATH_BUILTUNIXD = $(PATH_OBJD)/builtunix
 | 
|---|
| [1941] | 41 | export PATH_BUILTTOOLS = $(PATH_BUILTUNIX)/usr
 | 
|---|
 | 42 | export PATH_BUILTTOOLSD= $(PATH_BUILTUNIXD)/usr
 | 
|---|
| [1997] | 43 | PATH_BUILTUNIX_TMP     = $(PATH_BUILTUNIX).tmp
 | 
|---|
 | 44 | PATH_BUILTUNIX_TMPD    = $(PATH_BUILTUNIXD).tmp
 | 
|---|
| [1941] | 45 | PATH_BUILTTOOLS_TMP    = $(PATH_BUILTUNIX_TMP)/usr
 | 
|---|
 | 46 | PATH_BUILTTOOLS_TMPD   = $(PATH_BUILTUNIX_TMPD)/usr
 | 
|---|
| [34] | 47 | 
 | 
|---|
| [69] | 48 | # Debug info or not (when ever we feel like passing down such options).
 | 
|---|
| [122] | 49 | # Several ways to do this it seems.
 | 
|---|
| [69] | 50 | ifeq "$(BUILD_MODE)" "RELEASE"
 | 
|---|
 | 51 | BUILD_DEBUGINFO = -s
 | 
|---|
| [122] | 52 | BUILD_ENABLE_SYMBOLS = --disable-symbols
 | 
|---|
| [984] | 53 | BUILD_OPTIMIZE  = -O2 -mcpu=pentium -mpreferred-stack-boundary=2 -malign-strings=0 -falign-loops=2 -falign-jumps=2 -falign-functions=2
 | 
|---|
| [69] | 54 | else
 | 
|---|
| [984] | 55 | BUILD_OPTIMIZE  = -O0
 | 
|---|
| [69] | 56 | BUILD_DEBUGINFO = -g
 | 
|---|
| [122] | 57 | BUILD_ENABLE_SYMBOLS = --enable-symbols
 | 
|---|
| [69] | 58 | endif   
 | 
|---|
 | 59 | 
 | 
|---|
| [76] | 60 | 
 | 
|---|
| [1249] | 61 | # Version and CVS defines - real stuff in env.cmd.
 | 
|---|
| [1601] | 62 | export GCC_VERSION              ?= 3.3.5
 | 
|---|
 | 63 | export GCC_VERSION_SHORT        ?= 335
 | 
|---|
| [2314] | 64 | export GCC_RELEASE_ID           ?= rc2
 | 
|---|
| [109] | 65 | export GCC_CVS_VENDOR                   ?= GNU
 | 
|---|
| [1601] | 66 | export GCC_CVS_REL                              ?= GCC_3-3-5
 | 
|---|
| [839] | 67 | export BINUTILS_VERSION                 ?= 2.14
 | 
|---|
 | 68 | export BINUTILS_VERSION_SHORT   ?= 214
 | 
|---|
| [109] | 69 | export BINUTILS_CVS_VENDOR              ?= GNU
 | 
|---|
| [839] | 70 | export BINUTILS_CVS_REL                 ?= BINUTILS_2-14
 | 
|---|
| [109] | 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
 | 
|---|
| [2446] | 75 | export LIBC_VERSION             ?= 0.7.0a1
 | 
|---|
 | 76 | export LIBC_VERSION_SHORT       ?= 07a1
 | 
|---|
| [109] | 77 | 
 | 
|---|
| [111] | 78 | # innotek version and timestamp
 | 
|---|
| [1228] | 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))
 | 
|---|
| [111] | 85 | 
 | 
|---|
| [109] | 86 |                         
 | 
|---|
| [76] | 87 | #                       
 | 
|---|
| [69] | 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
 | 
|---|
| [1411] | 103 | export PATH_IGCC            ?= /usr
 | 
|---|
| [69] | 104 | export TMP                  ?= /tmp
 | 
|---|
 | 105 | export TMPDIR               ?= /tmp
 | 
|---|
| [25] | 106 | endif
 | 
|---|
| [69] | 107 | endif
 | 
|---|
| [1380] | 108 | export PATH_IGCC            ?= $(PATH_EMXPGCC)
 | 
|---|
| [1411] | 109 | export PATH_EMXPGCC         ?= $(PATH_IGCC)
 | 
|---|
| [25] | 110 | 
 | 
|---|
 | 111 | 
 | 
|---|
| [109] | 112 | 
 | 
|---|
 | 113 | # Misc Helpers
 | 
|---|
| [1137] | 114 | ALL_PREFIX                  = $(PATH_BIND)/$(GCC_VERSION)-$(GCC_RELEASE_ID)/usr
 | 
|---|
| [109] | 115 | TOOL_CVS_DIFF_TREE          = -cvs diff -R -N -w -u -r
 | 
|---|
| [593] | 116 | ifeq "$(BUILD_PLATFORM)" "OS2"
 | 
|---|
 | 117 | NICE                                            = nice -i
 | 
|---|
 | 118 | else
 | 
|---|
| [627] | 119 | NICE                                            =
 | 
|---|
| [593] | 120 | endif
 | 
|---|
| [109] | 121 | 
 | 
|---|
 | 122 |                                                         
 | 
|---|
 | 123 | 
 | 
|---|
 | 124 | 
 | 
|---|
| [34] | 125 | ###############################################################################
 | 
|---|
 | 126 | ###############################################################################
 | 
|---|
 | 127 | ###############################################################################
 | 
|---|
 | 128 | ###############################################################################
 | 
|---|
 | 129 | #
 | 
|---|
 | 130 | #    M a i n   R u l e z
 | 
|---|
 | 131 | #
 | 
|---|
 | 132 | ###############################################################################
 | 
|---|
 | 133 | ###############################################################################
 | 
|---|
 | 134 | ###############################################################################
 | 
|---|
 | 135 | ###############################################################################
 | 
|---|
| [1145] | 136 | 
 | 
|---|
| [1260] | 137 | # default is quick
 | 
|---|
| [1146] | 138 | all: all-quick
 | 
|---|
 | 139 | all-logged: all-quick-logged
 | 
|---|
| [1145] | 140 | 
 | 
|---|
| [1260] | 141 | # release builds are built 'double quick'.
 | 
|---|
 | 142 | all-double-quick:
 | 
|---|
 | 143 | 
 | 
|---|
 | 144 | 
 | 
|---|
 | 145 | 
 | 
|---|
 | 146 | # old bootstrap building.
 | 
|---|
| [1145] | 147 | bootstrap all-boostrap: 
 | 
|---|
| [34] | 148 |         mkdir -p $(PATH_OBJ)
 | 
|---|
| [1146] | 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
 | 
|---|
| [34] | 150 | 
 | 
|---|
| [1146] | 151 | all-bootstrap-logged:   \
 | 
|---|
| [120] | 152 |         all-banner-start \
 | 
|---|
| [25] | 153 |                 all-env \
 | 
|---|
 | 154 |                 all-sanity \
 | 
|---|
| [34] | 155 |                 all-preload \
 | 
|---|
| [120] | 156 |                 all-versionstamps \
 | 
|---|
| [89] | 157 |                 all-symlinks \
 | 
|---|
| [25] | 158 |                 \
 | 
|---|
| [120] | 159 |         all-stage1 \
 | 
|---|
 | 160 |         all-stage2 \
 | 
|---|
| [25] | 161 |                 \
 | 
|---|
| [76] | 162 |                 all-install \
 | 
|---|
 | 163 |                 \
 | 
|---|
| [1144] | 164 |                 all-symlinks-unlink \
 | 
|---|
 | 165 |                 all-preload-unload
 | 
|---|
| [1127] | 166 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [120] | 167 |         @echo "+ Make Ended Successfully: $(shell date)"
 | 
|---|
| [1127] | 168 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [34] | 169 | 
 | 
|---|
| [120] | 170 | #
 | 
|---|
 | 171 | # banners
 | 
|---|
 | 172 | #
 | 
|---|
| [34] | 173 |                 
 | 
|---|
| [120] | 174 | all-banner-start:
 | 
|---|
| [1127] | 175 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [25] | 176 |         @echo "+ Make started: $(shell date)"
 | 
|---|
| [1127] | 177 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [120] | 178 |                 
 | 
|---|
 | 179 | all-banner-stage1:
 | 
|---|
| [1127] | 180 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [120] | 181 |         @echo "+ Stage 1 - starting: $(shell date)"
 | 
|---|
| [1127] | 182 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [120] | 183 | 
 | 
|---|
 | 184 | all-banner-stage2:
 | 
|---|
| [1127] | 185 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [120] | 186 |         @echo "+ Stage 2 - starting: $(shell date)"
 | 
|---|
| [1127] | 187 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [25] | 188 |         
 | 
|---|
| [1941] | 189 | all-banner-builtunix-initial:
 | 
|---|
| [1127] | 190 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1941] | 191 |         @echo "+ Initializing builtunix tree"
 | 
|---|
| [1127] | 192 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [120] | 193 |                 
 | 
|---|
| [1941] | 194 | all-banner-builtunix-stage2:
 | 
|---|
| [1127] | 195 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1941] | 196 |         @echo "+ Copying stage2 builtunix"
 | 
|---|
| [1127] | 197 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [120] | 198 | 
 | 
|---|
 | 199 | all-banner-install:
 | 
|---|
| [1127] | 200 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [120] | 201 |         @echo "+ Install - starting: $(shell date)"
 | 
|---|
| [1127] | 202 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [25] | 203 |         
 | 
|---|
| [120] | 204 | all-banner-install-done:
 | 
|---|
| [1127] | 205 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [120] | 206 |         @echo "+ Install - done: $(shell date)"
 | 
|---|
| [1127] | 207 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [120] | 208 | 
 | 
|---|
| [839] | 209 | all-banner-symlinks-start:
 | 
|---|
| [1127] | 210 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [839] | 211 |         @echo "+ symlinks - staring: $(shell date)"
 | 
|---|
| [1127] | 212 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [120] | 213 |                 
 | 
|---|
| [839] | 214 | all-banner-symlinks-done:
 | 
|---|
| [1127] | 215 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [839] | 216 |         @echo "+ symlinks - done: $(shell date)"
 | 
|---|
| [1127] | 217 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [839] | 218 | 
 | 
|---|
 | 219 | all-banner-symlinks-unlink-start:
 | 
|---|
| [1127] | 220 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [839] | 221 |         @echo "+ symlinks unlinking - staring: $(shell date)"
 | 
|---|
| [1127] | 222 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [839] | 223 |                 
 | 
|---|
 | 224 | all-banner-symlinks-unlink-done:
 | 
|---|
| [1127] | 225 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [839] | 226 |         @echo "+ symlinks unlinking - done: $(shell date)"
 | 
|---|
| [1127] | 227 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [839] | 228 |                                                                 
 | 
|---|
 | 229 |                 
 | 
|---|
| [120] | 230 | #
 | 
|---|
 | 231 | # Sanity and environment dumps - to make it easier to figure out make bugs.
 | 
|---|
 | 232 | #
 | 
|---|
| [1264] | 233 | 
 | 
|---|
 | 234 | .PHONY: all-env
 | 
|---|
| [25] | 235 | all-env:        
 | 
|---|
| [1127] | 236 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [25] | 237 |         @echo "Variables:"
 | 
|---|
| [34] | 238 |         @echo "    PWD                  = $(PWD)"
 | 
|---|
| [69] | 239 |         @echo "    PWDD                 = $(PWDD)"
 | 
|---|
| [34] | 240 |         @echo "    PATH_TOP             = $(PATH_TOP)"
 | 
|---|
| [69] | 241 |         @echo "    PATH_TOPD            = $(PATH_TOPD)"
 | 
|---|
| [34] | 242 |         @echo "    PATH_OBJ             = $(PATH_OBJ)"
 | 
|---|
| [69] | 243 |         @echo "    PATH_OBJD            = $(PATH_OBJD)"
 | 
|---|
 | 244 |         @echo "    PATH_BIN             = $(PATH_BIN)"
 | 
|---|
 | 245 |         @echo "    PATH_BIND            = $(PATH_BIND)"
 | 
|---|
| [111] | 246 |         @echo "    ALL_PREFIX           = $(ALL_PREFIX)"
 | 
|---|
| [1380] | 247 |         @echo "    PATH_IGCC         = $(PATH_IGCC)"
 | 
|---|
| [34] | 248 |         @echo "    PATH_EMX             = $(PATH_EMX)"
 | 
|---|
 | 249 |         @echo "    BUILD_MODE           = $(BUILD_MODE)"
 | 
|---|
 | 250 |         @echo "    BUILD_PLATFORM       = $(BUILD_PLATFORM)"
 | 
|---|
 | 251 |         @echo "    BUILD_PROJECT        = $(BUILD_PROJECT)"
 | 
|---|
| [111] | 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)"
 | 
|---|
| [34] | 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)"
 | 
|---|
| [662] | 284 |         @echo "    MAKEOPT              = $(MAKEOPT)"
 | 
|---|
| [34] | 285 |         @echo "    PATH                 = $(PATH)"
 | 
|---|
| [25] | 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)"
 | 
|---|
| [1127] | 290 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [120] | 291 |         @echo "Content of PATH_OBJ:"
 | 
|---|
 | 292 |         -ls -la $(PATH_OBJ)/
 | 
|---|
| [1127] | 293 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [120] | 294 |         @echo "Content of PATH_BIN:"
 | 
|---|
 | 295 |         -ls -la $(PATH_BIN)/
 | 
|---|
| [1127] | 296 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [25] | 297 |         
 | 
|---|
| [120] | 298 |         
 | 
|---|
| [1264] | 299 | .PHONY: all-sanity
 | 
|---|
| [25] | 300 | all-sanity:
 | 
|---|
| [68] | 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
 | 
|---|
| [69] | 306 |         @if [ "x$(BUILD_PLATFORM)" != "xOS2" -a "x$(BUILD_PLATFORM)" != "xLINUX" ]; then \
 | 
|---|
| [68] | 307 |                 echo ""; echo "Error: BUILD_PLATFORM is wrong or isn't defined!"; \
 | 
|---|
 | 308 |                 exit 8; \
 | 
|---|
 | 309 |         fi
 | 
|---|
| [69] | 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
 | 
|---|
| [1151] | 324 |         @if ar --version | grep -qe ".*2\.11\.[2-9]" -e ".*[2]\.1[2-9][.0-9]*"; then \
 | 
|---|
| [69] | 325 |                 true; \
 | 
|---|
 | 326 |         else \
 | 
|---|
 | 327 |                 echo ""; echo "Warning: AR v2.11.2 or higher is recommended!"; \
 | 
|---|
 | 328 |         fi
 | 
|---|
 | 329 | endif
 | 
|---|
| [68] | 330 |         @echo "ok"
 | 
|---|
 | 331 |         
 | 
|---|
| [120] | 332 | 
 | 
|---|
 | 333 | #
 | 
|---|
 | 334 | # Preload tools we commonly use this speeds up stuff.
 | 
|---|
 | 335 | #                                                                       
 | 
|---|
| [34] | 336 | PRELOADED_TOOLS = bin/sh.exe bin/echo.exe bin/true.exe usr/bin/test.exe usr/bin/expr.exe \
 | 
|---|
| [1212] | 337 |      usr/bin/gawk.exe bin/sed.exe bin/rm.exe bin/cat.exe bin/cp.exe bin/mkdir.exe bin/rm.exe
 | 
|---|
| [76] | 338 |         
 | 
|---|
| [1264] | 339 | .PHONY: all-preload-unload all-preload
 | 
|---|
| [34] | 340 | all-preload:
 | 
|---|
 | 341 |         @echo "Preloading tools:"
 | 
|---|
| [69] | 342 | ifeq "$(BUILD_PLATFORM)" "OS2"
 | 
|---|
| [34] | 343 |         @for tool in $(PRELOADED_TOOLS); do \
 | 
|---|
 | 344 |             echo -n " $$tool";  \
 | 
|---|
 | 345 |                 emxload -e $(UNIXROOT)/$$tool;  \
 | 
|---|
 | 346 |         done
 | 
|---|
| [1210] | 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`
 | 
|---|
| [69] | 352 | endif
 | 
|---|
| [34] | 353 |         @echo ""
 | 
|---|
| [121] | 354 |         
 | 
|---|
| [565] | 355 | all-preload-unload:
 | 
|---|
| [121] | 356 | ifeq "$(BUILD_PLATFORM)" "OS2"
 | 
|---|
| [565] | 357 |         emxload -qw
 | 
|---|
| [121] | 358 | endif
 | 
|---|
| [34] | 359 | 
 | 
|---|
| [363] | 360 | 
 | 
|---|
| [111] | 361 | #
 | 
|---|
| [120] | 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 | #
 | 
|---|
| [111] | 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: 
 | 
|---|
| [1665] | 371 | #       echo '#define INNOTEK_VERSION  "$(INNOTEK_VERSION)"' > include/innotekversion.h
 | 
|---|
| [662] | 372 |         $(MAKE) $(MAKEOPT) -j 1 -f $(MAKEFILE) "INNOTEK_VERSION=$(INNOTEK_VERSION)" gcc-versionstamps binutils-versionstamps emx-versionstamps
 | 
|---|
| [111] | 373 |         mkdir -p $(@D)
 | 
|---|
 | 374 |         touch $@
 | 
|---|
 | 375 | 
 | 
|---|
 | 376 | 
 | 
|---|
| [120] | 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 | #       
 | 
|---|
| [1264] | 382 | 
 | 
|---|
 | 383 | .PHONY: all-stage1 all-stage1-it
 | 
|---|
| [120] | 384 | all-stage1: $(PATH_OBJ)/.all-stage1
 | 
|---|
 | 385 | $(PATH_OBJ)/.all-stage1:
 | 
|---|
| [662] | 386 |         $(MAKE) $(MAKEOPT) -j 1 -f $(MAKEFILE) all-stage1-it
 | 
|---|
| [120] | 387 |         echo "$(@F)" > $(PATH_OBJ)/.last-stage
 | 
|---|
 | 388 |         touch $@
 | 
|---|
| [1127] | 389 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [120] | 390 |         @echo "+ Stage 1 - done: $(shell date)"
 | 
|---|
| [1127] | 391 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [111] | 392 | 
 | 
|---|
| [121] | 393 | all-stage1-it: \
 | 
|---|
| [120] | 394 |                 all-banner-stage1 \
 | 
|---|
| [1941] | 395 |                 all-builtunix-initial \
 | 
|---|
| [120] | 396 |         all-binutils \
 | 
|---|
| [985] | 397 |                 all-gcc \
 | 
|---|
 | 398 |                 all-emx
 | 
|---|
| [120] | 399 |                 
 | 
|---|
| [1264] | 400 | .PHONY: all-stage2 all-stage2-it
 | 
|---|
| [120] | 401 | all-stage2: $(PATH_OBJ)/.all-stage2
 | 
|---|
 | 402 | $(PATH_OBJ)/.all-stage2: \
 | 
|---|
 | 403 |                 $(PATH_OBJ)/.all-stage2.save-stage1
 | 
|---|
| [662] | 404 |         $(MAKE) $(MAKEOPT) -j 1 -f $(MAKEFILE) all-stage2-it
 | 
|---|
| [120] | 405 |         echo "$(@F)" > $(PATH_OBJ)/.last-stage
 | 
|---|
 | 406 |         touch $@
 | 
|---|
| [1127] | 407 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [120] | 408 |         @echo "+ Stage 2 - done: $(shell date)"
 | 
|---|
| [1127] | 409 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [120] | 410 | 
 | 
|---|
 | 411 | $(PATH_OBJ)/.all-stage2.save-stage1:
 | 
|---|
| [1127] | 412 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [120] | 413 |         @echo "+ Saving Stage 1 - Starting: $(shell date)"
 | 
|---|
| [1127] | 414 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [662] | 415 |         $(MAKE) $(MAKEOPT) -j 1 -f $(MAKEFILE) all-preload-unload
 | 
|---|
| [1941] | 416 |         $(MAKE) $(MAKEOPT) -j 1 -f $(MAKEFILE) all-builtunix-stage2
 | 
|---|
| [120] | 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
 | 
|---|
| [662] | 421 |         $(MAKE) $(MAKEOPT) -j 1 -f $(MAKEFILE) all-preload
 | 
|---|
| [120] | 422 |         touch $@
 | 
|---|
| [1127] | 423 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [120] | 424 |         @echo "+ Saving Stage 1 - done: $(shell date)"
 | 
|---|
| [1127] | 425 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [25] | 426 |         
 | 
|---|
| [120] | 427 | all-stage2-it: \
 | 
|---|
 | 428 |                 all-banner-stage2 \
 | 
|---|
 | 429 |         all-binutils \
 | 
|---|
| [985] | 430 |                 all-gcc \
 | 
|---|
 | 431 |         all-emx
 | 
|---|
| [120] | 432 | 
 | 
|---|
 | 433 | 
 | 
|---|
 | 434 | #
 | 
|---|
 | 435 | # Install to bin tree makeing it ready for packing.
 | 
|---|
 | 436 | #
 | 
|---|
| [1264] | 437 | .PHONY: all-install
 | 
|---|
| [120] | 438 | all-install: \
 | 
|---|
 | 439 |         all-banner-install \
 | 
|---|
 | 440 |         gcc-install     \
 | 
|---|
 | 441 |         emx-install \
 | 
|---|
| [568] | 442 |         misc-install \
 | 
|---|
| [1220] | 443 |         all-strip-install \
 | 
|---|
| [120] | 444 |         all-banner-install-done \
 | 
|---|
 | 445 | 
 | 
|---|
| [1220] | 446 | # strips release build installations.
 | 
|---|
| [1264] | 447 | .PHONY: all-strip-install
 | 
|---|
| [1220] | 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 | 
 | 
|---|
| [120] | 461 |         
 | 
|---|
 | 462 | #
 | 
|---|
 | 463 | # Generate all the diffs we have to supply.
 | 
|---|
 | 464 | #
 | 
|---|
| [1264] | 465 | .PHONY: all-diff
 | 
|---|
| [109] | 466 | all-diff: \
 | 
|---|
 | 467 |         gcc-diff \
 | 
|---|
 | 468 |         binutils-diff \
 | 
|---|
 | 469 |         emx-diff \
 | 
|---|
| [34] | 470 |         
 | 
|---|
| [1127] | 471 |                                                                                 
 | 
|---|
| [109] | 472 |         
 | 
|---|
| [120] | 473 |         
 | 
|---|
| [1127] | 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 | 
 | 
|---|
| [1260] | 485 | # This is the default buildtype now.
 | 
|---|
 | 486 | # It requires a very up-to-date gcc build, not good for bootstrapping from old GCCs.
 | 
|---|
| [1264] | 487 | .PHONY: quick all-quick
 | 
|---|
| [1127] | 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 "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1264] | 496 | .PHONY: all-quick-logged        
 | 
|---|
| [1127] | 497 | all-quick-logged: \
 | 
|---|
 | 498 |         all-quick-banner-start \
 | 
|---|
 | 499 |                 all-env \
 | 
|---|
 | 500 |                 all-sanity \
 | 
|---|
| [1941] | 501 |                 all-quick-builtunix-initial \
 | 
|---|
| [1127] | 502 |                 all-versionstamps \
 | 
|---|
 | 503 |                 all-symlinks-unlink \
 | 
|---|
 | 504 |                 \
 | 
|---|
| [1260] | 505 |                 all-quick-step1 \
 | 
|---|
 | 506 |                 all-quick-step2 \
 | 
|---|
 | 507 |                 all-quick-step3 \
 | 
|---|
 | 508 |                 all-quick-step4 \
 | 
|---|
| [1127] | 509 |                 \
 | 
|---|
| [1144] | 510 |                 all-quick-install \
 | 
|---|
 | 511 |                 all-preload-unload
 | 
|---|
| [1127] | 512 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
 | 513 |         @echo "+ Quick Bootstrap Ended Successfully: $(shell date)"
 | 
|---|
 | 514 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1264] | 515 |         
 | 
|---|
| [1941] | 516 | .PHONY: all-quick-builtunix-initial
 | 
|---|
 | 517 | all-quick-builtunix-initial: $(PATH_OBJ)/.quick-builtunix-initial
 | 
|---|
 | 518 | all-quick-builtunix-initial-it: \
 | 
|---|
| [1265] | 519 |                 all-preload-unload \
 | 
|---|
| [1941] | 520 |                 all-builtunix-initial \
 | 
|---|
| [1265] | 521 |                 all-preload
 | 
|---|
| [1941] | 522 | $(PATH_OBJ)/.quick-builtunix-initial:
 | 
|---|
 | 523 |         $(MAKE) $(MAKEOPT) -f $(MAKEFILE) all-quick-builtunix-initial-it
 | 
|---|
| [1263] | 524 |         touch $@
 | 
|---|
| [1265] | 525 |                 
 | 
|---|
| [1260] | 526 | 
 | 
|---|
 | 527 | # This build type is used for release builds.
 | 
|---|
 | 528 | # We're doing two quick builds here to ensure everything is alright.
 | 
|---|
| [1264] | 529 | .PHONY: double-quick all-double-quick
 | 
|---|
| [1260] | 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 "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1264] | 538 | PHONY: all-double-quick-logged
 | 
|---|
| [1260] | 539 | all-double-quick-logged: \
 | 
|---|
 | 540 |         all-double-quick-banner-start \
 | 
|---|
 | 541 |                 all-env \
 | 
|---|
 | 542 |                 all-sanity \
 | 
|---|
| [1127] | 543 |                 all-preload-unload \
 | 
|---|
| [1941] | 544 |                 all-double-quick-builtunix-initial \
 | 
|---|
| [1260] | 545 |                 all-preload \
 | 
|---|
 | 546 |                 all-versionstamps \
 | 
|---|
 | 547 |                 all-symlinks-unlink \
 | 
|---|
 | 548 |                 \
 | 
|---|
 | 549 |                 all-double-quick-stage1 \
 | 
|---|
| [1265] | 550 |                 all-preload-unload \
 | 
|---|
 | 551 |                 all-double-quick-save-stage1 \
 | 
|---|
| [1260] | 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 "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1263] | 560 | 
 | 
|---|
| [1941] | 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: \
 | 
|---|
| [1265] | 564 |                 all-preload-unload \
 | 
|---|
| [1941] | 565 |                 all-builtunix-initial \
 | 
|---|
| [1265] | 566 |                 all-preload
 | 
|---|
| [1941] | 567 | $(PATH_OBJ)/.doublequick-builtunix-initial:
 | 
|---|
 | 568 |         $(MAKE) $(MAKEOPT) -f $(MAKEFILE) all-double-quick-builtunix-initial-it
 | 
|---|
| [1263] | 569 |         touch $@
 | 
|---|
| [1265] | 570 |         
 | 
|---|
 | 571 | # stage1
 | 
|---|
 | 572 | .PHONY: all-double-quick-stage1 all-double-quick-stage1-it
 | 
|---|
| [1260] | 573 | all-double-quick-stage1: $(PATH_OBJ)/.doublequick-stage1
 | 
|---|
| [1265] | 574 | all-double-quick-stage1-it: \
 | 
|---|
| [1260] | 575 |                 all-quick-step1 \
 | 
|---|
 | 576 |                 all-quick-step2 \
 | 
|---|
 | 577 |                 all-quick-step3 \
 | 
|---|
| [1265] | 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 "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1260] | 587 |         touch $@        
 | 
|---|
| [1265] | 588 |         
 | 
|---|
 | 589 | # save stage1   
 | 
|---|
 | 590 | .PHONY: all-double-quick-save-stage1 all-double-quick-save-stage1-it
 | 
|---|
| [1260] | 591 | all-double-quick-save-stage1: $(PATH_OBJ)/.doublequick-stage1-saved
 | 
|---|
| [1265] | 592 | all-double-quick-save-stage1-it: all-preload-unload
 | 
|---|
| [1260] | 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*
 | 
|---|
| [1265] | 599 | $(PATH_OBJ)/.doublequick-stage1-saved:
 | 
|---|
| [1260] | 600 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1265] | 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 "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1260] | 605 |         @echo "+ Double Quick Bootstrap Saving Stage 1 - done:      $(shell date)"
 | 
|---|
 | 606 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
 | 607 |         touch $@
 | 
|---|
 | 608 | 
 | 
|---|
| [1265] | 609 | # stage2        
 | 
|---|
 | 610 | .PHONY: all-double-quick-stage2 all-double-quick-stage2-it
 | 
|---|
| [1260] | 611 | all-double-quick-stage2: $(PATH_OBJ)/.doublequick-stage2
 | 
|---|
| [1265] | 612 | all-double-quick-stage2-it: \
 | 
|---|
| [1260] | 613 |                 all-quick-step1 \
 | 
|---|
 | 614 |                 all-quick-step2 \
 | 
|---|
 | 615 |                 all-quick-step3 \
 | 
|---|
 | 616 |                 all-quick-step4
 | 
|---|
| [1265] | 617 | $(PATH_OBJ)/.doublequick-stage2:
 | 
|---|
| [1260] | 618 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1265] | 619 |         @echo "+ Double Quick Bootstrap Stage 2 - starting: $(shell date)"
 | 
|---|
 | 620 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
 | 621 |         $(MAKE) $(MAKEOPT) -f $(MAKEFILE) all-double-quick-stage2-it
 | 
|---|
 | 622 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1260] | 623 |         @echo "+ Double Quick Bootstrap Stage 2 - done:     $(shell date)"
 | 
|---|
 | 624 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
 | 625 |         touch $@        
 | 
|---|
 | 626 |         
 | 
|---|
 | 627 |                 
 | 
|---|
 | 628 | # step 1 builds the base libraries.     
 | 
|---|
| [1264] | 629 | .PHONY: all-quick-step1 all-quick-step1-it
 | 
|---|
| [1260] | 630 | all-quick-step1: $(PATH_OBJ)/.quick-step1
 | 
|---|
 | 631 | all-quick-step1-it: \
 | 
|---|
| [1127] | 632 |                 all-preload \
 | 
|---|
| [2446] | 633 |         libc-quick \
 | 
|---|
| [1127] | 634 |                 all-preload-unload \
 | 
|---|
| [2446] | 635 |                 libc-quick-install \
 | 
|---|
| [1127] | 636 |                 all-preload
 | 
|---|
| [1260] | 637 | $(PATH_OBJ)/.quick-step1:
 | 
|---|
| [1127] | 638 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1260] | 639 |         @echo "+ Quick Bootstrap Step 1 - starting: $(shell date)"
 | 
|---|
| [1127] | 640 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1260] | 641 |         $(MAKE) $(MAKEOPT) -f $(MAKEFILE) all-quick-step1-it
 | 
|---|
 | 642 |         echo "$(@F)" > $(PATH_OBJ)/.quick-last-step
 | 
|---|
| [1127] | 643 |         touch $@
 | 
|---|
 | 644 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1260] | 645 |         @echo "+ Quick Bootstrap Step 1 - done:     $(shell date)"
 | 
|---|
| [1127] | 646 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
 | 647 | 
 | 
|---|
| [1260] | 648 | # step 2 builds the emx base utilities.
 | 
|---|
| [1264] | 649 | .PHONY: all-quick-step2 all-quick-step2-it
 | 
|---|
| [1260] | 650 | all-quick-step2: $(PATH_OBJ)/.quick-step2
 | 
|---|
 | 651 | all-quick-step2-it: \
 | 
|---|
| [2446] | 652 |         emx-quick \
 | 
|---|
| [1127] | 653 |                 all-preload-unload \
 | 
|---|
| [2446] | 654 |                 emx-quick-install \
 | 
|---|
| [1127] | 655 |                 all-preload
 | 
|---|
| [1260] | 656 | $(PATH_OBJ)/.quick-step2:
 | 
|---|
| [1127] | 657 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1260] | 658 |         @echo "+ Quick Bootstrap Step 2 - starting: $(shell date)"
 | 
|---|
| [1127] | 659 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1260] | 660 |         $(MAKE) $(MAKEOPT) -f $(MAKEFILE) all-quick-step2-it
 | 
|---|
 | 661 |         echo "$(@F)" > $(PATH_OBJ)/.quick-last-step
 | 
|---|
| [1127] | 662 |         touch $@
 | 
|---|
 | 663 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1260] | 664 |         @echo "+ Quick Bootstrap Step 2 - done:     $(shell date)"
 | 
|---|
| [1127] | 665 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
 | 666 | 
 | 
|---|
| [1260] | 667 | # step 3 builds all the binutil utilities and libraries.
 | 
|---|
| [1264] | 668 | .PHONY: all-quick-step3 all-quick-step3-it
 | 
|---|
| [1260] | 669 | all-quick-step3: $(PATH_OBJ)/.quick-step3
 | 
|---|
 | 670 | all-quick-step3-it: \
 | 
|---|
| [1127] | 671 |         binutils-quick \
 | 
|---|
 | 672 |                 all-preload-unload \
 | 
|---|
| [1261] | 673 |                 binutils-quick-installstage \
 | 
|---|
| [1127] | 674 |                 all-preload
 | 
|---|
| [1260] | 675 | $(PATH_OBJ)/.quick-step3:
 | 
|---|
| [1127] | 676 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1260] | 677 |         @echo "+ Quick Bootstrap Step 3 - starting: $(shell date)"
 | 
|---|
| [1127] | 678 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1260] | 679 |         $(MAKE) $(MAKEOPT) -f $(MAKEFILE) all-quick-step3-it
 | 
|---|
 | 680 |         echo "$(@F)" > $(PATH_OBJ)/.quick-last-step
 | 
|---|
| [1127] | 681 |         touch $@
 | 
|---|
 | 682 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1260] | 683 |         @echo "+ Quick Bootstrap Step 3 - done:     $(shell date)"
 | 
|---|
| [1127] | 684 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
 | 685 | 
 | 
|---|
| [1260] | 686 | # step 4 builds gcc.
 | 
|---|
| [1264] | 687 | .PHONY: all-quick-step4 all-quick-step4-it
 | 
|---|
| [1260] | 688 | all-quick-step4: $(PATH_OBJ)/.quick-step4
 | 
|---|
 | 689 | all-quick-step4-it: \
 | 
|---|
| [1127] | 690 |         gcc-quick \
 | 
|---|
 | 691 |                 all-preload-unload \
 | 
|---|
| [1261] | 692 |                 gcc-quick-installstage \
 | 
|---|
| [1127] | 693 |                 all-preload
 | 
|---|
| [1260] | 694 | $(PATH_OBJ)/.quick-step4:
 | 
|---|
| [1127] | 695 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1260] | 696 |         @echo "+ Quick Bootstrap Step 4 - starting: $(shell date)"
 | 
|---|
| [1127] | 697 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1260] | 698 |         $(MAKE) $(MAKEOPT) -f $(MAKEFILE) all-quick-step4-it
 | 
|---|
 | 699 |         echo "$(@F)" > $(PATH_OBJ)/.quick-last-step
 | 
|---|
| [1127] | 700 |         touch $@
 | 
|---|
 | 701 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
| [1260] | 702 |         @echo "+ Quick Bootstrap Step 4 - done:     $(shell date)"
 | 
|---|
| [1127] | 703 |         @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
 | 
|---|
 | 704 | 
 | 
|---|
 | 705 | 
 | 
|---|
 | 706 | # Installs the stuff we've built.                       
 | 
|---|
| [1264] | 707 | .PHONY: all-quick-install
 | 
|---|
| [1137] | 708 | all-quick-install: \
 | 
|---|
 | 709 |                 all-banner-install \
 | 
|---|
 | 710 |                 gcc-install     \
 | 
|---|
 | 711 |                 binutils-install \
 | 
|---|
 | 712 |                 emx-install \
 | 
|---|
 | 713 |                 misc-install \
 | 
|---|
| [1220] | 714 |                 all-strip-install \
 | 
|---|
| [1144] | 715 |                 all-banner-install-done
 | 
|---|
| [1264] | 716 |                 
 | 
|---|
| [120] | 717 |         
 | 
|---|
| [25] | 718 | ###############################################################################
 | 
|---|
 | 719 | ###############################################################################
 | 
|---|
 | 720 | ###############################################################################
 | 
|---|
| [34] | 721 | #
 | 
|---|
| [1941] | 722 | #    B u i l t   U n i x
 | 
|---|
| [34] | 723 | #
 | 
|---|
| [25] | 724 | ###############################################################################
 | 
|---|
 | 725 | ###############################################################################
 | 
|---|
 | 726 | ###############################################################################
 | 
|---|
| [120] | 727 |                 
 | 
|---|
| [1941] | 728 | all-builtunix-initial: \
 | 
|---|
 | 729 |                 all-banner-builtunix-initial \
 | 
|---|
 | 730 |                 all-builtunix-clean \
 | 
|---|
 | 731 |         all-builtunix-dirs \
 | 
|---|
| [111] | 732 |                 $(PATH_BUILTTOOLS)/bin/dllar.cmd \
 | 
|---|
| [468] | 733 |                 $(PATH_BUILTTOOLS)/omfhack/ar.exe \
 | 
|---|
 | 734 |                 $(PATH_BUILTTOOLS)/omfhack/realar.exe \
 | 
|---|
| [565] | 735 |                 $(PATH_BUILTTOOLS)/omfhack/ranlib.exe
 | 
|---|
| [34] | 736 |                 
 | 
|---|
| [1941] | 737 | all-builtunix-clean: \
 | 
|---|
| [565] | 738 |                 all-preload-unload
 | 
|---|
| [1941] | 739 |         rm -Rf $(PATH_BUILTUNIX)
 | 
|---|
| [120] | 740 |         
 | 
|---|
| [1941] | 741 | all-builtunix-dirs:
 | 
|---|
| [468] | 742 |         mkdir -p $(PATH_BUILTTOOLS)/bin $(PATH_BUILTTOOLS)/lib $(PATH_BUILTTOOLS)/include $(PATH_BUILTTOOLS)/omfhack
 | 
|---|
| [34] | 743 |         
 | 
|---|
| [468] | 744 | $(PATH_BUILTTOOLS)/omfhack/ranlib.exe $(PATH_BUILTTOOLS_TMP)/omfhack/ranlib.exe: $(PATH_TOP)/tools/bin/true.exe
 | 
|---|
 | 745 |         cp $< $@
 | 
|---|
| [1380] | 746 | $(PATH_BUILTTOOLS)/omfhack/ar.exe: $(PATH_IGCC)/bin/emxomfar.exe
 | 
|---|
| [468] | 747 |         cp $< $@
 | 
|---|
 | 748 | $(PATH_BUILTTOOLS_TMP)/omfhack/ar.exe: $(PATH_BUILTTOOLS_TMP)/bin/emxomfar.exe
 | 
|---|
 | 749 |         cp $< $@
 | 
|---|
| [1380] | 750 | $(PATH_BUILTTOOLS)/omfhack/realar.exe $(PATH_BUILTTOOLS_TMP)/omfhack/realar.exe: $(PATH_IGCC)/bin/ar.exe
 | 
|---|
| [468] | 751 |         cp $< $@
 | 
|---|
 | 752 | $(PATH_BUILTTOOLS_TMP)/omfhack:
 | 
|---|
 | 753 |         mkdir -p $@
 | 
|---|
 | 754 |         
 | 
|---|
| [1941] | 755 | all-builtunix-stage2: \
 | 
|---|
 | 756 |                 all-banner-builtunix-stage2 \
 | 
|---|
 | 757 |                 gcc-builtunix-stage2 \
 | 
|---|
 | 758 |                 emx-builtunix-stage2 \
 | 
|---|
 | 759 |                 all-builtunix-stage2-libs \
 | 
|---|
| [363] | 760 |                 $(PATH_BUILTTOOLS_TMP)/bin/dllar.cmd \
 | 
|---|
| [468] | 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 \
 | 
|---|
| [1941] | 765 |                 all-builtunix-clean
 | 
|---|
 | 766 |         mv -f $(PATH_BUILTUNIX_TMP) $(PATH_BUILTUNIX)
 | 
|---|
| [363] | 767 |         
 | 
|---|
| [1941] | 768 | all-builtunix-stage2-libs:
 | 
|---|
 | 769 |         -for aoutlib in `find $(PATH_BUILTUNIX_TMP) -name "*.a" | sed -e 's/\.a$$//' `; \
 | 
|---|
| [120] | 770 |         do \
 | 
|---|
 | 771 |                 if [ ! -f $(aoutlib).lib ]; then \
 | 
|---|
 | 772 |                         echo "  $${aoutlib}"; \
 | 
|---|
| [1941] | 773 |                         $(PATH_BUILTTOOLS_TMP)/bin/emxomf.exe $${aoutlib}.a; \
 | 
|---|
| [120] | 774 |                 fi;\
 | 
|---|
 | 775 |         done
 | 
|---|
| [34] | 776 | 
 | 
|---|
 | 777 | 
 | 
|---|
| [89] | 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 | #
 | 
|---|
| [109] | 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.
 | 
|---|
| [89] | 798 | #
 | 
|---|
| [109] | 799 | #
 | 
|---|
| [89] | 800 | #w##############################################################################
 | 
|---|
 | 801 | ###############################################################################
 | 
|---|
 | 802 | ###############################################################################
 | 
|---|
| [102] | 803 | all-symlinks: \
 | 
|---|
| [839] | 804 |                 all-banner-symlinks-start \
 | 
|---|
 | 805 |                 all-symlinks-binutils \
 | 
|---|
 | 806 |                 all-banner-symlinks-done
 | 
|---|
| [34] | 807 | 
 | 
|---|
| [109] | 808 | all-symlinks-unlink: \
 | 
|---|
| [839] | 809 |                 all-banner-symlinks-unlink-start \
 | 
|---|
 | 810 |                 all-symlinks-unlink-binutils \
 | 
|---|
 | 811 |                 all-banner-symlinks-unlink-done
 | 
|---|
| [109] | 812 |                 
 | 
|---|
 | 813 |                 
 | 
|---|
| [89] | 814 | ifeq "$(BUILD_PLATFORM)" "OS2"
 | 
|---|
| [265] | 815 | TOOL_SYMLINK_FILE   = cp -p
 | 
|---|
 | 816 | TOOL_SYMLINK_DIR    = cp -pRf
 | 
|---|
| [89] | 817 | TOOL_SYMLINK_MKDIR  = mkdir
 | 
|---|
 | 818 | TOOL_UNSYMLINK_DIR  = rm -Rf
 | 
|---|
 | 819 | else
 | 
|---|
| [839] | 820 | TOOL_SYMLINK_FILE   = ln -fs
 | 
|---|
 | 821 | TOOL_SYMLINK_DIR    = ln -fs
 | 
|---|
| [89] | 822 | TOOL_SYMLINK_MKDIR  = true
 | 
|---|
 | 823 | TOOL_UNSYMLINK_DIR  = rm
 | 
|---|
 | 824 | endif
 | 
|---|
| [102] | 825 | 
 | 
|---|
 | 826 | # ld is broken, so don't use it!        
 | 
|---|
 | 827 | # ld \
 | 
|---|
 | 828 | 
 | 
|---|
| [89] | 829 | SYMLINKS_BINUTILS_TO_GCC_DIRS = \
 | 
|---|
 | 830 | bfd \
 | 
|---|
 | 831 | binutils \
 | 
|---|
 | 832 | etc \
 | 
|---|
 | 833 | gas \
 | 
|---|
 | 834 | gprof \
 | 
|---|
 | 835 | intl \
 | 
|---|
 | 836 | opcodes \
 | 
|---|
 | 837 | texinfo \
 | 
|---|
| [839] | 838 | libiberty \
 | 
|---|
| [89] | 839 | include/aout \
 | 
|---|
 | 840 | include/coff \
 | 
|---|
 | 841 | include/elf     \
 | 
|---|
| [839] | 842 | include/gdb     \
 | 
|---|
 | 843 | include/mpw     \
 | 
|---|
| [89] | 844 | include/nlm     \
 | 
|---|
 | 845 | include/opcode \
 | 
|---|
 | 846 | include/regs \
 | 
|---|
| [34] | 847 | 
 | 
|---|
| [89] | 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 \
 | 
|---|
| [839] | 859 | include/fibheap.h \
 | 
|---|
| [89] | 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 \
 | 
|---|
| [839] | 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 | 
 | 
|---|
| [89] | 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 \
 | 
|---|
| [2446] | 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'`; \
 | 
|---|
| [839] | 901 |                                 then true ; \
 | 
|---|
 | 902 |                         else exit 1; \
 | 
|---|
 | 903 |                         fi ; \
 | 
|---|
| [89] | 904 |                 fi ; \
 | 
|---|
| [839] | 905 |         done    
 | 
|---|
| [89] | 906 |         for dir in $(SYMLINKS_BINUTILS_TO_GCC_DIRS) ; do \
 | 
|---|
| [2446] | 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 \
 | 
|---|
| [839] | 910 |                             echo removing existing directory: $${dir} ; \
 | 
|---|
| [2446] | 911 |                                 rm -Rf $(PATH_TOP)/gcc/$$dir ; \
 | 
|---|
| [839] | 912 |                         fi ; \
 | 
|---|
| [2446] | 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'` ; \
 | 
|---|
| [839] | 916 |                                 then true ; \
 | 
|---|
 | 917 |                         else exit 1; \
 | 
|---|
 | 918 |                         fi ; \
 | 
|---|
| [89] | 919 |                 fi ; \
 | 
|---|
 | 920 |         done
 | 
|---|
| [2446] | 921 |         -ls -a1 gcc/.sym*
 | 
|---|
| [89] | 922 | 
 | 
|---|
 | 923 | all-symlinks-unlink-binutils:
 | 
|---|
| [2446] | 924 |         for name in `ls gcc/.symlinked* | sed -e "s/.*\.symlinked.//" -e "s/_/\//g"`; do \
 | 
|---|
| [839] | 925 |                 echo unlinking $${name} ; \
 | 
|---|
| [2446] | 926 |                 if [ -d "$(PATH_TOP)/gcc/$${name}" ] ; then  \
 | 
|---|
 | 927 |                         rm -Rf $(PATH_TOP)/gcc/$${name} ; \
 | 
|---|
| [839] | 928 |                 else \
 | 
|---|
| [2446] | 929 |                         rm -f $(PATH_TOP)/gcc/$${name} ; \
 | 
|---|
| [89] | 930 |                 fi ; \
 | 
|---|
| [2446] | 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'` ; \
 | 
|---|
| [839] | 933 |                 else \
 | 
|---|
| [2446] | 934 |                         echo "unlink error: $(PATH_TOP)/gcc/$${name} exist" ; \
 | 
|---|
 | 935 |                         ls -l "$(PATH_TOP)/gcc/$${name}" ; \
 | 
|---|
| [839] | 936 |                         exit 1; \
 | 
|---|
| [89] | 937 |                 fi ; \
 | 
|---|
 | 938 |         done
 | 
|---|
| [2446] | 939 |         -ls -a1 gcc/.sym*
 | 
|---|
| [89] | 940 |                                                 
 | 
|---|
 | 941 | 
 | 
|---|
| [34] | 942 | ###############################################################################
 | 
|---|
 | 943 | ###############################################################################
 | 
|---|
 | 944 | ###############################################################################
 | 
|---|
 | 945 | #
 | 
|---|
 | 946 | #    G C C
 | 
|---|
 | 947 | #
 | 
|---|
 | 948 | ###############################################################################
 | 
|---|
 | 949 | ###############################################################################
 | 
|---|
 | 950 | ###############################################################################
 | 
|---|
| [25] | 951 | all-gcc       gcc:      \
 | 
|---|
 | 952 |         gcc-autoconf-refresh \
 | 
|---|
| [1127] | 953 |         gcc-bootstrap
 | 
|---|
| [34] | 954 |         echo "Successfully build GCC."
 | 
|---|
| [25] | 955 | 
 | 
|---|
 | 956 | 
 | 
|---|
 | 957 | 
 | 
|---|
 | 958 | GCC_DIRS = \
 | 
|---|
| [34] | 959 | gcc/libiberty \
 | 
|---|
| [41] | 960 | gcc/zlib \
 | 
|---|
| [25] | 961 | gcc/gcc \
 | 
|---|
| [41] | 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 \
 | 
|---|
| [90] | 973 | 
 | 
|---|
| [120] | 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.
 | 
|---|
| [90] | 976 | not_yet =\
 | 
|---|
| [89] | 977 | gcc/bfd \
 | 
|---|
 | 978 | gcc/binutils \
 | 
|---|
 | 979 | gcc/gas \
 | 
|---|
 | 980 | gcc/gprof \
 | 
|---|
 | 981 | gcc/ld \
 | 
|---|
 | 982 | gcc/libiberty \
 | 
|---|
| [1108] | 983 | gcc/opcodes
 | 
|---|
 | 984 | #gcc/intl
 | 
|---|
| [25] | 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
 | 
|---|
| [1481] | 991 | gcc-autoconf-refresh gcc-autoconf-rerun gcc-autoconf-clean gcc-autoconf-remove:
 | 
|---|
| [84] | 992 | ifeq "$(BUILD_PLATFORM)" "LINUX"
 | 
|---|
 | 993 |         -$(SH) $(PATH_TOP)/xfix.sh
 | 
|---|
 | 994 | endif
 | 
|---|
| [25] | 995 |         for dir in $(GCC_CONFIGURE_DIRS); do \
 | 
|---|
| [1108] | 996 |                 echo $$dir; \
 | 
|---|
| [2448] | 997 |                 if $(MAKE) $(MAKEOPT) -j 1 $(@:gcc-autoconf-%=%) -f $(PWD)/config.gmk -C $$dir ; then \
 | 
|---|
| [96] | 998 |                         true; \
 | 
|---|
 | 999 |                 else \
 | 
|---|
 | 1000 |                         exit 8; \
 | 
|---|
 | 1001 |                 fi \
 | 
|---|
| [25] | 1002 |         done
 | 
|---|
 | 1003 | 
 | 
|---|
 | 1004 |         
 | 
|---|
 | 1005 | # build the components.
 | 
|---|
| [1127] | 1006 | .PHONY: gcc-bootstrap gcc-build gcc-install gcc-configure
 | 
|---|
 | 1007 | gcc-bootstrap gcc-build gcc-install gcc-configure:
 | 
|---|
| [41] | 1008 |         mkdir -p $(PATH_OBJ)/gcc
 | 
|---|
| [662] | 1009 |         $(MAKE) $(MAKEOPT) -j 1 -C $(PATH_OBJ)/gcc -f $(MAKEFILE) $@-it
 | 
|---|
| [1671] | 1010 |         
 | 
|---|
 | 1011 | # let the build/bootstrap create the gcc import .def file before kicking off a build.
 | 
|---|
| [2446] | 1012 | gcc-bootstrap gcc-build: gcc/gcc/config/i386/emx-libgcc_so_d.def
 | 
|---|
| [2448] | 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,$^) > $@
 | 
|---|
| [41] | 1015 | 
 | 
|---|
| [69] | 1016 | 
 | 
|---|
 | 1017 | # When changed directory
 | 
|---|
| [76] | 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
 | 
|---|
| [2446] | 1020 | #   non release builds - This overrides some stuff in gcc/gcc/config/i386/t-emx!
 | 
|---|
| [255] | 1021 | # For the 2nd stage we need a hack for using the right specs when linking...
 | 
|---|
| [282] | 1022 | #SPEC_HACK = $(if $(wildchar $(PATH_OBJ)/.all-stage1),\
 | 
|---|
| [2448] | 1023 | #              -specs $(PATH_TOP)/libc/src/libc/libc.specs, \
 | 
|---|
| [282] | 1024 | #              -specs $(PATH_TOP)/tools/x86.os2/gcc/staged/lib/gcc-lib/i386-pc-os2-emx/$(GCC_VERSION)/specs)
 | 
|---|
 | 1025 | SPECS_HACK =
 | 
|---|
| [1127] | 1026 | gcc-bootstrap-it gcc-build-it: \
 | 
|---|
| [41] | 1027 |                 $(PATH_OBJ)/gcc/.ts.configured
 | 
|---|
| [69] | 1028 | ifeq "$(BUILD_PLATFORM)" "OS2"          
 | 
|---|
| [1144] | 1029 |         unset GCCLOAD ; export LT_OS2_LDFLAGS="-Zomf -g" ; \
 | 
|---|
 | 1030 |         $(MAKE) $(MAKEOPT) -C $(PATH_OBJ)/gcc \
 | 
|---|
| [984] | 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" \
 | 
|---|
| [1127] | 1037 |                 $(subst build, all, $(patsubst gcc-%-it, %, $@))
 | 
|---|
| [69] | 1038 | else
 | 
|---|
| [1127] | 1039 |         $(MAKE) $(MAKEOPT) -C $(PATH_OBJ)/gcc $(subst build, all, $(patsubst gcc-%-it, %, $@))
 | 
|---|
| [69] | 1040 | endif   
 | 
|---|
 | 1041 |                 
 | 
|---|
 | 1042 | # configure it (invoked after directory change).
 | 
|---|
 | 1043 | #       We set CC to help configure finding it.
 | 
|---|
| [984] | 1044 | #       We also set some LDFLAGS to get omf linking.
 | 
|---|
| [2446] | 1045 | gcc-configure-it $(PATH_OBJ)/gcc/.ts.configured: $(PATH_TOP)/gcc/configure
 | 
|---|
| [69] | 1046 | ifeq "$(BUILD_PLATFORM)" "OS2"
 | 
|---|
 | 1047 |         $(ASH) -c " \
 | 
|---|
 | 1048 |                 export CC=\"gcc.exe\" ; \
 | 
|---|
| [984] | 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\" ; \
 | 
|---|
| [41] | 1051 |                 $< \
 | 
|---|
| [68] | 1052 |                 --enable-clh \
 | 
|---|
| [41] | 1053 |                 --enable-threads=os2 \
 | 
|---|
| [203] | 1054 |                 --enable-shared=libgcc,bfd,opcodes \
 | 
|---|
| [41] | 1055 |                 --enable-nls \
 | 
|---|
 | 1056 |                 --without-included-gettext \
 | 
|---|
| [1380] | 1057 |                 --with-local-prefix=$(subst \,/,$(PATH_IGCC)) \
 | 
|---|
| [468] | 1058 |                 --prefix=/gcc \
 | 
|---|
| [41] | 1059 |                 --with-gnu-as \
 | 
|---|
 | 1060 |                 --disable-libgcj \
 | 
|---|
 | 1061 |                 --enable-languages=c,c++ "
 | 
|---|
| [69] | 1062 | else
 | 
|---|
 | 1063 |         $(ASH) -c "$< \
 | 
|---|
| [103] | 1064 |                 --disable-clh \
 | 
|---|
| [203] | 1065 |                 --enable-shared=libgcc,bfd,opcodes \
 | 
|---|
| [69] | 1066 |                 --enable-nls \
 | 
|---|
 | 1067 |                 --without-included-gettext \
 | 
|---|
| [1380] | 1068 |                 --with-local-prefix=$(subst \,/,$(PATH_IGCC)) \
 | 
|---|
| [468] | 1069 |                 --prefix=/gcc \
 | 
|---|
| [69] | 1070 |                 --with-gnu-as \
 | 
|---|
 | 1071 |                 --disable-libgcj \
 | 
|---|
 | 1072 |                 --enable-languages=c,c++ "
 | 
|---|
 | 1073 | endif
 | 
|---|
| [41] | 1074 |         touch $(PATH_OBJ)/gcc/.ts.configured
 | 
|---|
| [103] | 1075 | # TODO: Andy, on Linux --enable-clh result in linking errors.
 | 
|---|
 | 1076 | 
 | 
|---|
| [76] | 1077 | # Install the GCC build
 | 
|---|
 | 1078 | #       Repeating the prefix doesn't hurt anybody.
 | 
|---|
 | 1079 | gcc-install-it:
 | 
|---|
| [662] | 1080 |         $(MAKE) $(MAKEOPT) prefix=$(ALL_PREFIX) install
 | 
|---|
| [25] | 1081 | 
 | 
|---|
| [120] | 1082 | 
 | 
|---|
| [2446] | 1083 | # easy, update gcc/gcc/version.c
 | 
|---|
| [111] | 1084 | gcc-versionstamps:
 | 
|---|
 | 1085 |         @echo "Version stamping gcc..."
 | 
|---|
| [2446] | 1086 |         mv -f $(PATH_TOP)/gcc/gcc/version.c $(PATH_TOP)/gcc/gcc/version.tmp.c
 | 
|---|
| [111] | 1087 |         sed -e '/version_string/s/\([0-9]\.[0-9]*\.[0-9]*\).*/\1 $(INNOTEK_VERSION)";/' \
 | 
|---|
| [2446] | 1088 |                 $(PATH_TOP)/gcc/gcc/version.tmp.c > $(PATH_TOP)/gcc/gcc/version.c
 | 
|---|
 | 1089 |         rm -f $(PATH_TOP)/gcc/gcc/version.tmp.c
 | 
|---|
| [111] | 1090 | 
 | 
|---|
 | 1091 | 
 | 
|---|
| [1941] | 1092 | # Install to builtunix directory.       
 | 
|---|
| [282] | 1093 | ##     WARNING! Another spec HACK!
 | 
|---|
| [1941] | 1094 | gcc-builtunix-stage2:
 | 
|---|
| [662] | 1095 |         $(MAKE) $(MAKEOPT) -C $(PATH_OBJ)/gcc prefix=$(PATH_BUILTTOOLS_TMPD) install
 | 
|---|
| [2448] | 1096 | ##      cp $(PATH_TOP)/libc/src/libc/libc.specs $(PATH_OBJ)/gcc/gcc/specs
 | 
|---|
| [120] | 1097 | 
 | 
|---|
| [1127] | 1098 | 
 | 
|---|
 | 1099 | # Quick bootstrap workers.
 | 
|---|
 | 1100 | gcc-quick:  \
 | 
|---|
 | 1101 |         gcc-autoconf-refresh \
 | 
|---|
 | 1102 |         gcc-build
 | 
|---|
 | 1103 |         
 | 
|---|
 | 1104 | gcc-quick-installstage:
 | 
|---|
| [1941] | 1105 |         rm -Rf $(PATH_BUILTUNIX_TMP)
 | 
|---|
| [1127] | 1106 |         $(MAKE) $(MAKEOPT) -C $(PATH_OBJ)/gcc prefix=$(PATH_BUILTTOOLS_TMPD) install
 | 
|---|
| [1941] | 1107 |         cp -Rf $(PATH_BUILTUNIX_TMP)/* $(PATH_BUILTUNIX)/
 | 
|---|
 | 1108 |         rm -Rf $(PATH_BUILTUNIX_TMP)
 | 
|---|
| [1127] | 1109 | 
 | 
|---|
| [111] | 1110 |                 
 | 
|---|
| [1426] | 1111 | # Generate diffs for GCC - part of packing a release.
 | 
|---|
| [109] | 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:
 | 
|---|
| [55] | 1115 |         mkdir -p $(@D)
 | 
|---|
| [2446] | 1116 |         $(TOOL_CVS_DIFF_TREE) $(GCC_CVS_REL) gcc > $@
 | 
|---|
| [25] | 1117 | 
 | 
|---|
| [468] | 1118 | 
 | 
|---|
 | 1119 | 
 | 
|---|
| [565] | 1120 | 
 | 
|---|
| [468] | 1121 | 
 | 
|---|
| [25] | 1122 | ###############################################################################
 | 
|---|
 | 1123 | ###############################################################################
 | 
|---|
 | 1124 | ###############################################################################
 | 
|---|
| [34] | 1125 | #
 | 
|---|
| [25] | 1126 | #    B i n U t i l s
 | 
|---|
| [34] | 1127 | #
 | 
|---|
| [25] | 1128 | ###############################################################################
 | 
|---|
 | 1129 | ###############################################################################
 | 
|---|
 | 1130 | ###############################################################################
 | 
|---|
| [96] | 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 \
 | 
|---|
| [1108] | 1142 | binutils/libiberty
 | 
|---|
 | 1143 | #binutils/intl
 | 
|---|
| [96] | 1144 | 
 | 
|---|
 | 1145 | 
 | 
|---|
 | 1146 | BINUTILS_CONFIGURE_DIRS = $(BINUTILS_DIRS) $(BINUTILS_NOT_DIRS)
 | 
|---|
 | 1147 | 
 | 
|---|
| [25] | 1148 | all-binutils  binutils:
 | 
|---|
| [89] | 1149 |         echo "Binutils are build together with the other GNU Tools in GCC."
 | 
|---|
 | 1150 |         echo "Separate building of binutils is not configured."
 | 
|---|
| [25] | 1151 | 
 | 
|---|
| [1127] | 1152 | binutils214:    \
 | 
|---|
| [628] | 1153 |         binutils-autoconf-refresh \
 | 
|---|
 | 1154 |         binutils-build
 | 
|---|
 | 1155 |         echo "Successfully build Binutils v2.14."
 | 
|---|
| [25] | 1156 | 
 | 
|---|
 | 1157 | 
 | 
|---|
| [628] | 1158 | 
 | 
|---|
| [96] | 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 \
 | 
|---|
| [2448] | 1166 |                 if $(MAKE) $(MAKEOPT) -j 1 $(@:binutils-autoconf-%=%) -f $(PWD)/config.gmk -C $$dir ; then \
 | 
|---|
| [96] | 1167 |                         true; \
 | 
|---|
 | 1168 |                 else \
 | 
|---|
 | 1169 |                         exit 8; \
 | 
|---|
 | 1170 |                 fi \
 | 
|---|
 | 1171 |         done
 | 
|---|
 | 1172 | 
 | 
|---|
 | 1173 | 
 | 
|---|
 | 1174 | # build the components.
 | 
|---|
| [1259] | 1175 | .PHONY: binutils-build binutils-install binutils-configure binutils-configure-elf
 | 
|---|
 | 1176 | binutils-build binutils-install binutils-configure binutils-configure-elf:
 | 
|---|
| [96] | 1177 |         mkdir -p $(PATH_OBJ)/binutils
 | 
|---|
| [662] | 1178 |         $(MAKE) $(MAKEOPT) -C $(PATH_OBJ)/binutils -f $(MAKEFILE) $@-it
 | 
|---|
| [96] | 1179 | 
 | 
|---|
 | 1180 | 
 | 
|---|
 | 1181 | # When changed directory
 | 
|---|
 | 1182 | binutils-build-it: \
 | 
|---|
 | 1183 |                 $(PATH_OBJ)/binutils/.ts.configured
 | 
|---|
| [1259] | 1184 |         unset GCCLOAD ; export LT_OS2_LDFLAGS="-Zomf -g -Zmap" ; \
 | 
|---|
| [1144] | 1185 |         $(MAKE) $(MAKEOPT) -C $(PATH_OBJ)/binutils \
 | 
|---|
 | 1186 |                 CFLAGS="$(BUILD_DEBUGINFO) $(BUILD_OPTIMIZE) -Zhigh-mem" \
 | 
|---|
| [1259] | 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"
 | 
|---|
| [96] | 1196 |                 
 | 
|---|
 | 1197 | # configure it (invoked after directory change).
 | 
|---|
 | 1198 | #       We set CC to help configure finding it.
 | 
|---|
| [98] | 1199 | #       And we reconfigure libiberty to the gcc one.
 | 
|---|
| [2446] | 1200 | binutils-configure-it $(PATH_OBJ)/binutils/.ts.configured: $(PATH_TOP)/binutils/configure
 | 
|---|
| [627] | 1201 | ifeq "$(BUILD_PLATFORM)" "OS2"
 | 
|---|
| [96] | 1202 |         $(ASH) -c " \
 | 
|---|
| [1259] | 1203 |                 CC=\"gcc.exe\" \
 | 
|---|
 | 1204 |                 CFLAGS=\"$(BUILD_DEBUGINFO) $(BUILD_OPTIMIZE) -Zhigh-mem\"  \
 | 
|---|
 | 1205 |                 LDFLAGS=\"$(BUILD_DEBUGINFO) -Zhigh-mem -Zstack 1024 -Zomf\" \
 | 
|---|
| [96] | 1206 |                 $< \
 | 
|---|
| [627] | 1207 |                 --enable-clh \
 | 
|---|
 | 1208 |                 --enable-threads=os2 \
 | 
|---|
 | 1209 |                 --enable-shared=libgcc,bfd,opcodes \
 | 
|---|
 | 1210 |                 --enable-nls \
 | 
|---|
 | 1211 |                 --without-included-gettext \
 | 
|---|
| [1380] | 1212 |                 --with-local-prefix=$(subst \,/,$(PATH_IGCC)) \
 | 
|---|
| [627] | 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 \
 | 
|---|
| [1380] | 1223 |                 --with-local-prefix=$(subst \,/,$(PATH_IGCC)) \
 | 
|---|
| [627] | 1224 |                 --prefix=/gcc \
 | 
|---|
 | 1225 |                 --with-gnu-as \
 | 
|---|
 | 1226 |                 --disable-libgcj \
 | 
|---|
 | 1227 |                 --enable-languages=c,c++ "
 | 
|---|
 | 1228 | endif
 | 
|---|
| [1259] | 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\" \
 | 
|---|
| [2446] | 1234 |                 $(PATH_TOP)/binutils/gas/configure \
 | 
|---|
| [1259] | 1235 |                 --target=i386-pc-os2-elf \
 | 
|---|
 | 1236 |                 --enable-shared=libgcc,bfd,opcodes \
 | 
|---|
 | 1237 |                 --enable-nls \
 | 
|---|
 | 1238 |                 --without-included-gettext \
 | 
|---|
| [1380] | 1239 |                 --with-local-prefix=$(subst \,/,$(PATH_IGCC)) \
 | 
|---|
| [1259] | 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\" \
 | 
|---|
| [2446] | 1248 |                 $(PATH_TOP)/binutils/ld/configure \
 | 
|---|
| [1259] | 1249 |                 --target=i386-pc-os2-elf \
 | 
|---|
 | 1250 |                 --enable-shared=libgcc,bfd,opcodes \
 | 
|---|
 | 1251 |                 --enable-nls \
 | 
|---|
 | 1252 |                 --without-included-gettext \
 | 
|---|
| [1380] | 1253 |                 --with-local-prefix=$(subst \,/,$(PATH_IGCC)) \
 | 
|---|
| [1259] | 1254 |                 --prefix=/gcc \
 | 
|---|
 | 1255 |                 --with-gnu-as \
 | 
|---|
 | 1256 |                 --program-suffix=-elf "
 | 
|---|
| [96] | 1257 |         touch $(PATH_OBJ)/binutils/.ts.configured
 | 
|---|
| [1259] | 1258 |                 
 | 
|---|
| [96] | 1259 |         
 | 
|---|
 | 1260 |         
 | 
|---|
 | 1261 | # Install the Binutils build
 | 
|---|
 | 1262 | #       Repeating the prefix doesn't hurt anybody.
 | 
|---|
 | 1263 | binutils-install-it:
 | 
|---|
| [1259] | 1264 |         cd gas-elf && $(MAKE) $(MAKEOPT) prefix=$(ALL_PREFIX) install
 | 
|---|
 | 1265 |         cd ld-elf  && $(MAKE) $(MAKEOPT) prefix=$(ALL_PREFIX) install
 | 
|---|
| [662] | 1266 |         $(MAKE) $(MAKEOPT) prefix=$(ALL_PREFIX) install
 | 
|---|
| [1141] | 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
 | 
|---|
| [96] | 1269 | 
 | 
|---|
 | 1270 | 
 | 
|---|
| [111] | 1271 | # Not so easy, need to patch a few files.
 | 
|---|
 | 1272 | binutils-versionstamps:
 | 
|---|
 | 1273 |         @echo "Version stamping binutils..."
 | 
|---|
| [2446] | 1274 |         cp -f $(PATH_TOP)/binutils/binutils/version.c  $(PATH_TOP)/binutils/binutils/version.tmp.c
 | 
|---|
| [111] | 1275 |         sed -e '/printf.*program_version/s/%s %s.*\\n/%s %s $(INNOTEK_VERSION)\\n/' \
 | 
|---|
| [2446] | 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 && \
 | 
|---|
| [111] | 1280 |                 sed -e '/printf.*program_version/s/%s %s.*\\n/%s %s $(INNOTEK_VERSION)\\n/' \
 | 
|---|
| [2446] | 1281 |                         $(PATH_TOP)/gcc/binutils/version.tmp.c > $(PATH_TOP)/gcc/binutils/version.c && \
 | 
|---|
 | 1282 |                 rm -f $(PATH_TOP)/gcc/binutils/version.tmp.c ; \
 | 
|---|
| [111] | 1283 |         fi
 | 
|---|
 | 1284 |         @echo "Version stamping gas..."
 | 
|---|
| [2446] | 1285 |         cp -f $(PATH_TOP)/binutils/gas/as.c $(PATH_TOP)/binutils/gas/as.tmp.c
 | 
|---|
| [111] | 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)"),/ ' \
 | 
|---|
| [2446] | 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 && \
 | 
|---|
| [111] | 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)"),/ ' \
 | 
|---|
| [2446] | 1294 |                         $(PATH_TOP)/gcc/gas/as.tmp.c > $(PATH_TOP)/gcc/gas/as.c && \
 | 
|---|
 | 1295 |                 rm -f $(PATH_TOP)/gcc/gas/as.tmp.c ; \
 | 
|---|
| [111] | 1296 |         fi
 | 
|---|
 | 1297 |         @echo "Version stamping ld..."
 | 
|---|
| [2446] | 1298 |         cp -f $(PATH_TOP)/binutils/ld/ldver.c $(PATH_TOP)/binutils/ld/ldver.tmp.c
 | 
|---|
| [111] | 1299 |         sed -e '/fprintf.*GNU.*ld.*version/s/(with BFD %s).*/(with BFD %s) $(INNOTEK_VERSION)\\n"),/' \
 | 
|---|
| [2446] | 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 && \
 | 
|---|
| [111] | 1304 |                 sed -e '/fprintf.*GNU.*ld.*version/s/(with BFD %s).*/(with BFD %s) $(INNOTEK_VERSION)\\n"),/' \
 | 
|---|
| [2446] | 1305 |                         $(PATH_TOP)/gcc/ld/ldver.tmp.c > $(PATH_TOP)/gcc/ld/ldver.c && \
 | 
|---|
 | 1306 |                 rm -f $(PATH_TOP)/gcc/ld/ldver.tmp.c ; \
 | 
|---|
| [111] | 1307 |         fi              
 | 
|---|
 | 1308 |         
 | 
|---|
| [96] | 1309 | 
 | 
|---|
| [1127] | 1310 | # Quick bootstrap workers.
 | 
|---|
| [1144] | 1311 | binutils-quick:
 | 
|---|
 | 1312 |         GCCLOAD=5 $(MAKE) $(MAKEOPT) -f $(MAKEFILE) binutils214
 | 
|---|
| [1127] | 1313 | 
 | 
|---|
 | 1314 | binutils-quick-installstage:
 | 
|---|
| [1941] | 1315 |         rm -Rf $(PATH_BUILTUNIX_TMP)
 | 
|---|
| [1376] | 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
 | 
|---|
| [1127] | 1318 |         $(MAKE) $(MAKEOPT) -C $(PATH_OBJ)/binutils prefix=$(PATH_BUILTTOOLS_TMPD) install
 | 
|---|
| [1375] | 1319 |         mv -f $(PATH_BUILTTOOLS_TMP)/bin/ld.exe                  $(PATH_BUILTTOOLS_TMP)/bin/ld-bad.exe
 | 
|---|
| [1141] | 1320 |         mv -f $(PATH_BUILTTOOLS_TMP)/i386-pc-os2-emx/bin/ld.exe  $(PATH_BUILTTOOLS_TMP)/i386-pc-os2-emx/bin/ld-bad.exe
 | 
|---|
| [1376] | 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
 | 
|---|
| [1377] | 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
 | 
|---|
| [1941] | 1323 |         cp -Rf $(PATH_BUILTUNIX_TMP)/* $(PATH_BUILTUNIX)/
 | 
|---|
 | 1324 |         rm -Rf $(PATH_BUILTUNIX_TMP)
 | 
|---|
| [1127] | 1325 | 
 | 
|---|
| [111] | 1326 |                                         
 | 
|---|
| [109] | 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:
 | 
|---|
| [89] | 1331 |         mkdir -p $(@D)
 | 
|---|
| [2446] | 1332 |         $(TOOL_CVS_DIFF_TREE) $(BINUTILS_CVS_REL) binutils > $@
 | 
|---|
| [98] | 1333 | 
 | 
|---|
 | 1334 | 
 | 
|---|
 | 1335 | 
 | 
|---|
| [109] | 1336 |                                                         
 | 
|---|
| [98] | 1337 | 
 | 
|---|
| [89] | 1338 |         
 | 
|---|
| [25] | 1339 | 
 | 
|---|
| [96] | 1340 | 
 | 
|---|
| [25] | 1341 | ###############################################################################
 | 
|---|
 | 1342 | ###############################################################################
 | 
|---|
 | 1343 | ###############################################################################
 | 
|---|
| [34] | 1344 | #
 | 
|---|
| [25] | 1345 | #    E M X
 | 
|---|
| [34] | 1346 | #
 | 
|---|
| [25] | 1347 | ###############################################################################
 | 
|---|
 | 1348 | ###############################################################################
 | 
|---|
 | 1349 | ###############################################################################
 | 
|---|
| [120] | 1350 | all-emx  emx: \
 | 
|---|
 | 1351 |                 emx-build
 | 
|---|
 | 1352 |         @echo "Successfully build EMX."
 | 
|---|
| [25] | 1353 |         
 | 
|---|
| [120] | 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
 | 
|---|
| [1137] | 1361 | #EMX_OUT  = out/
 | 
|---|
 | 1362 | #EMX_INS  = out/install/
 | 
|---|
 | 1363 | EMX_OUT  = $(PATH_OBJD)/emx/
 | 
|---|
 | 1364 | EMX_INS  = $(ALL_PREFIX)/
 | 
|---|
| [120] | 1365 | EMX_MASM = $(PATH_TOP)/tools/x86.os2/masm/v6.0/binp/ml.exe
 | 
|---|
| [1137] | 1366 | EMX_DEFINES = "OUT=$(EMX_OUT)" "INS=$(EMX_INS)" "MODE=$(EMX_MODE)" "ASM=$(EMX_MASM) -c"
 | 
|---|
| [109] | 1367 |                                                                         
 | 
|---|
| [120] | 1368 | # build the components. (directory changer rules)
 | 
|---|
 | 1369 | .PHONY: emx-build emx-install emx-configure
 | 
|---|
| [1137] | 1370 | emx-build emx-install:
 | 
|---|
| [120] | 1371 |         mkdir -p $(PATH_OBJ)/emx
 | 
|---|
| [2448] | 1372 |         $(MAKE) $(MAKEOPT) -f $(PATH_TOP)/emx/Makefile.gmk -C $(PATH_TOP)/emx -f $(MAKEFILE) $@-it
 | 
|---|
| [120] | 1373 | 
 | 
|---|
| [905] | 1374 | emx-build-it:
 | 
|---|
| [2448] | 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
 | 
|---|
| [120] | 1377 | 
 | 
|---|
| [905] | 1378 | emx-install-it:
 | 
|---|
| [2448] | 1379 |         $(MAKE) $(MAKEOPT) -f $(PATH_TOP)/emx/Makefile.gmk -C $(PATH_TOP)/emx $(EMX_DEFINES) INS=$(ALL_PREFIX)/ install
 | 
|---|
| [120] | 1380 | 
 | 
|---|
 | 1381 |                                         
 | 
|---|
| [565] | 1382 | # We pass down the INNOTEK_VERSION define when building EMX.
 | 
|---|
| [111] | 1383 | emx-versionstamps:
 | 
|---|
| [565] | 1384 |         @echo "Version stamping EMX... nothing to do"
 | 
|---|
| [109] | 1385 |                                                                         
 | 
|---|
| [1941] | 1386 | # Install the compiled emx stuff to builtunix.
 | 
|---|
 | 1387 | emx-builtunix-stage2:
 | 
|---|
| [2448] | 1388 |         $(MAKE) $(MAKEOPT)-f $(PATH_TOP)/emx/Makefile.gmk -C $(PATH_TOP)/emx $(EMX_DEFINES) INS=$(PATH_BUILTTOOLS_TMP)/  install
 | 
|---|
| [120] | 1389 | 
 | 
|---|
| [1127] | 1390 | # Quick bootstrap workers.                      
 | 
|---|
| [2446] | 1391 | emx-quick:
 | 
|---|
| [2448] | 1392 |         GCCLOAD=3 $(MAKE) $(MAKEOPT) -f $(PATH_TOP)/emx/Makefile.gmk -C $(PATH_TOP)/emx $(EMX_DEFINES) all
 | 
|---|
| [1127] | 1393 |                         
 | 
|---|
| [2446] | 1394 | emx-quick-install:
 | 
|---|
| [2448] | 1395 |         $(MAKE) $(MAKEOPT)-f $(PATH_TOP)/emx/Makefile.gmk -C $(PATH_TOP)/emx $(EMX_DEFINES) INS=$(PATH_BUILTTOOLS)/ install
 | 
|---|
| [1127] | 1396 |                                 
 | 
|---|
 | 1397 | 
 | 
|---|
 | 1398 | # Generate diffs for EMX (part of packing).
 | 
|---|
 | 1399 | .PHONY: emx-diff $(ALL_PREFIX)/src/diffs/emx-$(EMX_VERSION).diff
 | 
|---|
| [109] | 1400 | emx-diff: $(ALL_PREFIX)/src/diffs/emx-$(EMX_VERSION).diff
 | 
|---|
 | 1401 | $(ALL_PREFIX)/src/diffs/emx-$(EMX_VERSION).diff:
 | 
|---|
 | 1402 |         mkdir -p $(@D)
 | 
|---|
| [2446] | 1403 |         $(TOOL_CVS_DIFF_TREE) $(EMX_CVS_REL) emx > $@
 | 
|---|
| [111] | 1404 | 
 | 
|---|
| [2446] | 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
 | 
|---|
| [122] | 1439 | 
 | 
|---|
| [2446] | 1440 | libc-build-it:
 | 
|---|
| [2448] | 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
 | 
|---|
| [2446] | 1443 | 
 | 
|---|
 | 1444 | libc-install-it:
 | 
|---|
| [2448] | 1445 |         $(MAKE) $(MAKEOPT) -f $(PATH_TOP)/libc/Makefile.gmk -C $(PATH_TOP)/libc $(LIBC_DEFINES) INS=$(ALL_PREFIX)/ install
 | 
|---|
| [2446] | 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:
 | 
|---|
| [2448] | 1454 |         $(MAKE) $(MAKEOPT) -f $(PATH_TOP)/libc/Makefile.gmk -C $(PATH_TOP)/libc $(LIBC_DEFINES) INS=$(PATH_BUILTTOOLS_TMP)/  install
 | 
|---|
| [2446] | 1455 | 
 | 
|---|
 | 1456 | # Quick bootstrap workers.                      
 | 
|---|
 | 1457 | libc-quick:
 | 
|---|
| [2448] | 1458 |         GCCLOAD=3 $(MAKE) $(MAKEOPT) -f $(PATH_TOP)/libc/Makefile.gmk -C $(PATH_TOP)/libc $(LIBC_DEFINES) all
 | 
|---|
| [2446] | 1459 | 
 | 
|---|
 | 1460 | libc-quick-install:
 | 
|---|
| [2448] | 1461 |         $(MAKE) $(MAKEOPT) -f $(PATH_TOP)/libc/Makefile.gmk -C $(PATH_TOP)/libc $(LIBC_DEFINES) INS=$(PATH_BUILTTOOLS)/ install
 | 
|---|
| [2446] | 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 | 
 | 
|---|
| [402] | 1474 |         
 | 
|---|
 | 1475 |         
 | 
|---|
 | 1476 |         
 | 
|---|
 | 1477 | ###############################################################################
 | 
|---|
 | 1478 | ###############################################################################
 | 
|---|
 | 1479 | ###############################################################################
 | 
|---|
 | 1480 | #
 | 
|---|
 | 1481 | #    P A C K I N G
 | 
|---|
 | 1482 | #
 | 
|---|
 | 1483 | ###############################################################################
 | 
|---|
 | 1484 | ###############################################################################
 | 
|---|
 | 1485 | ###############################################################################
 | 
|---|
| [577] | 1486 | packing: \
 | 
|---|
 | 1487 |                 packing-all \
 | 
|---|
| [708] | 1488 |                 packing-doc \
 | 
|---|
| [1268] | 1489 |                 packing-libc \
 | 
|---|
 | 1490 |                 installer
 | 
|---|
| [1226] | 1491 | # don't need this anylonger - all or nothing at all.            
 | 
|---|
 | 1492 | #               packing-core
 | 
|---|
 | 1493 | #               packing-dbg     
 | 
|---|
 | 1494 | #               packing-prf
 | 
|---|
| [577] | 1495 | 
 | 
|---|
| [583] | 1496 | ZIPFLAGS=-rX9
 | 
|---|
| [1137] | 1497 | ZIPBASE=$(PATH_BIN)/GCC-$(GCC_VERSION)-$(GCC_RELEASE_ID)
 | 
|---|
| [577] | 1498 | 
 | 
|---|
 | 1499 | packing-all:
 | 
|---|
| [583] | 1500 |         rm -f $(ZIPBASE).zip
 | 
|---|
 | 1501 |         cd $(ALL_PREFIX)/.. ; zip $(ZIPFLAGS) $(ZIPBASE).zip *
 | 
|---|
| [402] | 1502 |         
 | 
|---|
| [708] | 1503 | packing-doc:
 | 
|---|
 | 1504 |         rm -f $(ZIPBASE)-doc.zip
 | 
|---|
| [838] | 1505 |         cd $(ALL_PREFIX)/..; zip $(ZIPFLAGS) $(ZIPBASE)-doc.zip usr/doc/GCC-$(GCC_VERSION)/*
 | 
|---|
| [708] | 1506 |         
 | 
|---|
| [583] | 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
 | 
|---|
| [1269] | 1510 |         cd $(ALL_PREFIX)/doc/GCC-$(GCC_VERSION); zip $(ZIPFLAGS) $(PATH_BIN)/libc.zip COPYING.LIB
 | 
|---|
| [583] | 1511 | 
 | 
|---|
| [577] | 1512 | packing-core:
 | 
|---|
| [583] | 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
 | 
|---|
| [122] | 1516 | 
 | 
|---|
| [577] | 1517 | packing-dbg:
 | 
|---|
| [583] | 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/\*
 | 
|---|
| [577] | 1520 | 
 | 
|---|
| [583] | 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 \
 | 
|---|
| [2446] | 1529 |                 packing-src-libc \
 | 
|---|
| [583] | 1530 |         
 | 
|---|
 | 1531 | packing-src-gcc:
 | 
|---|
 | 1532 |         rm -f $(ZIPBASE)-src-GCC.zip
 | 
|---|
| [2446] | 1533 |         zip $(ZIPFLAGS) $(ZIPBASE)-src-GCC.zip gcc -x \*CVS\*
 | 
|---|
| [583] | 1534 |                                         
 | 
|---|
 | 1535 | packing-src-binutils:
 | 
|---|
 | 1536 |         rm -f $(ZIPBASE)-src-binutils.zip
 | 
|---|
| [2446] | 1537 |         zip $(ZIPFLAGS) $(ZIPBASE)-src-binutils.zip binutils -x \*CVS\*
 | 
|---|
| [583] | 1538 |         
 | 
|---|
 | 1539 | packing-src-emx:
 | 
|---|
 | 1540 |         rm -f $(ZIPBASE)-src-emx.zip
 | 
|---|
| [2446] | 1541 |         zip $(ZIPFLAGS) $(ZIPBASE)-src-emx.zip emx/* -x \*CVS\* -x \*testcase\* -x \*out\*
 | 
|---|
| [1268] | 1542 |                                 
 | 
|---|
| [2446] | 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 |                                 
 | 
|---|
| [1268] | 1547 | installer:
 | 
|---|
 | 1548 |         $(MAKE) $(MAKEOPT) -C $(PATH_TOP)/src/install all packing
 | 
|---|
 | 1549 |         
 | 
|---|
| [568] | 1550 |                 
 | 
|---|
| [122] | 1551 | ###############################################################################
 | 
|---|
 | 1552 | ###############################################################################
 | 
|---|
 | 1553 | ###############################################################################
 | 
|---|
 | 1554 | #
 | 
|---|
 | 1555 | #    M I S C
 | 
|---|
 | 1556 | #
 | 
|---|
 | 1557 | ###############################################################################
 | 
|---|
 | 1558 | ###############################################################################
 | 
|---|
 | 1559 | ###############################################################################
 | 
|---|
 | 1560 | 
 | 
|---|
| [568] | 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)
 | 
|---|
| [703] | 1566 |         cp $(PATH_TOP)/doc/MailingLists.os2         $(ALL_PREFIX)/doc/GCC-$(GCC_VERSION)
 | 
|---|
| [568] | 1567 |         cp $(PATH_TOP)/doc/Install.os2              $(ALL_PREFIX)/doc/GCC-$(GCC_VERSION)
 | 
|---|
| [705] | 1568 |         cp $(PATH_TOP)/doc/Licenses.os2             $(ALL_PREFIX)/doc/GCC-$(GCC_VERSION)
 | 
|---|
| [1601] | 1569 |         cp $(PATH_TOP)/doc/KnownProblems.os2        $(ALL_PREFIX)/doc/GCC-$(GCC_VERSION)
 | 
|---|
| [708] | 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)
 | 
|---|
| [2446] | 1572 |         cp $(PATH_TOP)/libc/ChangeLog.LIBC          $(ALL_PREFIX)/doc/GCC-$(GCC_VERSION)
 | 
|---|
| [2448] | 1573 |         cp $(PATH_TOP)/emx/ChangeLog.emx            $(ALL_PREFIX)/doc/GCC-$(GCC_VERSION)
 | 
|---|
| [402] | 1574 |                         
 | 
|---|
| [122] | 1575 | 
 | 
|---|
| [766] | 1576 | #
 | 
|---|
 | 1577 | # Checkout rule
 | 
|---|
 | 1578 | #       
 | 
|---|
| [1397] | 1579 | checkout update up:
 | 
|---|
| [1174] | 1580 |         cvs -q update -d -P 2>&1 | tee up.log
 | 
|---|
| [122] | 1581 | 
 | 
|---|
| [132] | 1582 | # DO NOT DELETE
 | 
|---|