Changeset 120
- Timestamp:
- May 11, 2003, 1:48:35 AM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Makefile
-
Property cvs2svn:cvs-rev
changed from
1.19
to1.20
r119 r120 34 34 export PATH_BIN = $(PATH_TOP)/bin/$(BUILD_PLATFORM)/$(BUILD_MODE) 35 35 export PATH_BIND = $(PATH_TOPD)/bin/$(BUILD_PLATFORM)/$(BUILD_MODE) 36 ifndef PATH_OBJ37 36 export PATH_OBJ = $(PATH_TOP)/obj/$(BUILD_PLATFORM)/$(BUILD_MODE) 38 37 export PATH_OBJD = $(PATH_TOPD)/obj/$(BUILD_PLATFORM)/$(BUILD_MODE) 39 endif40 38 export PATH_BUILTTOOLS = $(PATH_OBJ)/builttools 41 39 export PATH_BUILTTOOLSD= $(PATH_OBJD)/builttools … … 115 113 116 114 all-logged: \ 117 all- start \115 all-banner-start \ 118 116 all-env \ 119 117 all-sanity \ 120 118 all-preload \ 121 all-builttools-initial \ 122 all-versionstamps \ 119 all-versionstamps \ 123 120 all-symlinks \ 124 121 \ 125 all-binutils \ 126 all-gcc \ 127 all-emx \ 122 all-stage1 \ 123 all-stage2 \ 128 124 \ 129 125 all-install \ 130 126 \ 131 all-symlinks-unlink \ 132 all-ended 133 134 135 all-start: 127 all-symlinks-unlink 128 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 129 @echo "+ Make Ended Successfully: $(shell date)" 130 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 131 132 # 133 # banners 134 # 135 136 all-banner-start: 136 137 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 137 138 @echo "+ Make started: $(shell date)" 138 139 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 139 140 141 all-ended: 142 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 143 @echo "+ Make ended: $(shell date)" 144 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 145 140 141 all-banner-stage1: 142 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 143 @echo "+ Stage 1 - starting: $(shell date)" 144 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 145 146 all-banner-stage2: 147 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 148 @echo "+ Stage 2 - starting: $(shell date)" 149 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 150 151 all-banner-builttools-initial: 152 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 153 @echo "+ Initializing builttools tree" 154 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 155 156 all-banner-builttools-stage2: 157 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 158 @echo "+ Copying stage2 builttools" 159 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 160 161 all-banner-install: 162 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 163 @echo "+ Install - starting: $(shell date)" 164 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 165 166 all-banner-install-done: 167 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 168 @echo "+ Install - done: $(shell date)" 169 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 170 171 172 # 173 # Sanity and environment dumps - to make it easier to figure out make bugs. 174 # 146 175 147 176 all-env: … … 200 229 @echo " LIBRARY_PATH = $(LIBRARY_PATH)" 201 230 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 231 @echo "Content of PATH_OBJ:" 232 -ls -la $(PATH_OBJ)/ 233 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 234 @echo "Content of PATH_BIN:" 235 -ls -la $(PATH_BIN)/ 236 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 237 202 238 203 239 all-sanity: … … 233 269 @echo "ok" 234 270 235 271 272 # 273 # Preload tools we commonly use this speeds up stuff. 274 # 236 275 PRELOADED_TOOLS = bin/sh.exe bin/echo.exe bin/true.exe usr/bin/test.exe usr/bin/expr.exe \ 237 276 usr/bin/gawk.exe usr/bin/sed.exe bin/rm.exe bin/cat.exe bin/cp.exe … … 244 283 emxload -e $(UNIXROOT)/$$tool; \ 245 284 done 246 emxload -e gcc.exe g++.exe ld.exe cc1.exe as.exe cc1plus.exe cpp0.exe ar.exe285 emxload -e gcc.exe g++.exe ld.exe cc1.exe as.exe cc1plus.exe ar.exe cpp0.exe ld.exe 247 286 endif 248 287 @echo "" 249 250 251 # we do some version stamping/branding of certain files. It's mainly to 252 # distiguish releases and to tell everyone that they're from Innotek. :) 288 289 # 290 # Version stamping/branding. 291 # Update various version strings which are printed from the tools to tell 292 # the build date and that's our built. This helps us tell releases apart. 253 293 # 254 294 # IMPORTANT! Take care not to commit the changed files … … 262 302 263 303 264 265 all-install: \ 266 gcc-install 267 # emx-install 268 # binutils-install 269 270 304 # 305 # Stages 306 # A rebuild with the new toolsuite is usually required when there is ABI 307 # changes and other vital changes done to the tools. 308 # 309 310 all-stage1: $(PATH_OBJ)/.all-stage1 311 $(PATH_OBJ)/.all-stage1: 312 $(MAKE) -f $(MAKEFILE) all-stage1-it 313 echo "$(@F)" > $(PATH_OBJ)/.last-stage 314 touch $@ 315 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 316 @echo "+ Stage 1 - done: $(shell date)" 317 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 318 319 all-stage1-it: \ 320 all-banner-stage1 \ 321 all-builttools-initial \ 322 all-emx \ 323 all-binutils \ 324 all-gcc 325 326 327 all-stage2: $(PATH_OBJ)/.all-stage2 328 $(PATH_OBJ)/.all-stage2: \ 329 $(PATH_OBJ)/.all-stage2.save-stage1 330 $(MAKE) -f $(MAKEFILE) all-stage2-it 331 echo "$(@F)" > $(PATH_OBJ)/.last-stage 332 touch $@ 333 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 334 @echo "+ Stage 2 - done: $(shell date)" 335 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 336 337 $(PATH_OBJ)/.all-stage2.save-stage1: 338 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 339 @echo "+ Saving Stage 1 - Starting: $(shell date)" 340 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 341 ifeq "$(BUILD_PLATFORM)" "OS2" 342 -for prog in `emxload -l | sed -e 's/\\/\//g' -e 's/.*³[\t ]*//' | grep '$(PATH_OBJD)'`; \ 343 do \ 344 emxload -u $$prog; \ 345 done 346 endif 347 $(MAKE) -f $(MAKEFILE) all-builttools-stage2 348 rm -Rf $(PATH_OBJ)/stage1 349 mkdir -p $(PATH_OBJ)/stage1 350 if [ -d $(PATH_OBJ)/gcc ] ; then mv $(PATH_OBJ)/gcc $(PATH_OBJ)/stage1/gcc; fi 351 if [ -d $(PATH_OBJ)/emx ] ; then mv $(PATH_OBJ)/emx $(PATH_OBJ)/stage1/emx; fi 352 $(MAKE) -f $(MAKEFILE) all-preload 353 touch $@ 354 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 355 @echo "+ Saving Stage 1 - done: $(shell date)" 356 @echo "+++++++++++++++++++++++++++++++++++++++++++++++++++" 357 358 all-stage2-it: \ 359 all-banner-stage2 \ 360 all-emx \ 361 all-binutils \ 362 all-gcc 363 364 365 # 366 # Install to bin tree makeing it ready for packing. 367 # 368 all-install: \ 369 all-banner-install \ 370 gcc-install \ 371 emx-install \ 372 all-banner-install-done \ 373 374 375 # 376 # Generate all the diffs we have to supply. 377 # 271 378 all-diff: \ 272 379 gcc-diff \ … … 275 382 276 383 384 385 386 387 277 388 ############################################################################### 278 389 ############################################################################### … … 284 395 ############################################################################### 285 396 ############################################################################### 286 .PHONY: all-builttools-initial all-builttools-dirs 397 .PHONY: all-builttools-initial all-builttools-dirs all-builttools-clean all-builttools-stage2 398 287 399 all-builttools-initial: \ 400 all-banner-builttools-initial \ 401 all-builttools-clean \ 288 402 all-builttools-dirs \ 289 403 $(PATH_BUILTTOOLS)/bin/dllar.cmd \ 290 291 404 405 all-builttools-clean: 406 rm -Rf $(PATH_BUILTTOOLS) 407 292 408 all-builttools-dirs: 293 409 mkdir -p $(PATH_BUILTTOOLS)/bin $(PATH_BUILTTOOLS)/lib $(PATH_BUILTTOOLS)/include … … 296 412 cp $< $@ 297 413 298 414 all-builttools-stage2: \ 415 all-banner-builttools-stage2 \ 416 $(PATH_BUILTTOOLS)/bin/dllar.cmd \ 417 gcc-builttools-stage2 \ 418 emx-builttools-stage2 \ 419 all-builttools-stage2-libs 420 421 all-builttools-stage2-libs: 422 -for aoutlib in `find $(PATH_BUILTTOOLS) -name "*.a" | sed -e 's/\.a$$//' `; \ 423 do \ 424 if [ ! -f $(aoutlib).lib ]; then \ 425 echo " $${aoutlib}"; \ 426 $(PATH_BUILTTOOLS)/bin/emxomf.exe $${aoutlib}.a; \ 427 fi;\ 428 done 299 429 300 430 … … 467 597 gcc/libobjc \ 468 598 599 # Here is a problem, we can't regenerate binutils makefiles when symlinked into 600 # gcc. At least not yet. The result is messed up severely. 469 601 not_yet =\ 470 602 gcc/bfd \ … … 553 685 # TODO: Andy, on Linux --enable-clh result in linking errors. 554 686 555 556 687 # Install the GCC build 557 688 # Repeating the prefix doesn't hurt anybody. 558 689 gcc-install-it: 559 690 $(MAKE) prefix=$(PATH_BIND)/usr install 560 561 562 691 692 693 563 694 # easy, update src/gcc/gcc/version.c 564 695 gcc-versionstamps: … … 569 700 rm -f $(PATH_TOP)/src/gcc/gcc/version.tmp.c 570 701 702 703 # Install to builttools directory. 704 gcc-builttools-stage2: 705 $(MAKE) -C $(PATH_OBJ)/gcc prefix=$(PATH_BUILTTOOLSD) install 571 706 572 707 … … 728 863 ############################################################################### 729 864 ############################################################################### 730 all-emx emx: 731 echo "Successfully build EMX." 732 echo "Warning!!! EMX not yet done!" 733 865 all-emx emx: \ 866 emx-build 867 @echo "Successfully build EMX." 868 869 # Some helpers. 870 # TODO: Change OUT and INS to the right ones. Currently not possible as 871 # doing such breaks the rules generating. 872 EMX_MODE = dbg 873 ifeq "$(BUILD_MODE)" "RELEASE" 874 EMX_MODE = opt 875 endif 876 EMX_OUT = out/ 877 EMX_INS = out/install/ 878 EMX_MASM = $(PATH_TOP)/tools/x86.os2/masm/v6.0/binp/ml.exe 879 EMX_DEFINES = OUT=$(EMX_OUT) INS=$(EMX_INS) MODE=$(EMX_MODE) "ASM=$(EMX_MASM) -c" 734 880 881 # build the components. (directory changer rules) 882 .PHONY: emx-build emx-install emx-configure 883 emx-build emx-install emx-configure: 884 mkdir -p $(PATH_OBJ)/emx 885 $(MAKE) -C $(PATH_TOP)/src/emx -f $(MAKEFILE) $@-it 886 887 # This is the configure equivalent. 888 emx-configure-it: $(PATH_TOP)/src/emx/out/genrules.smak 889 $(PATH_TOP)/src/emx/$(EMX_OUT)genrules.smak: 890 rm -f $(PATH_TOP)/src/emx/out/genrules.smak 891 $(MAKE) -C $(PATH_TOP)/src/emx $(EMX_DEFINES) $(EMX_OUT)genrules.smak 892 893 emx-build-it: \ 894 $(PATH_TOP)/src/emx/$(EMX_OUT)genrules.smak 895 $(MAKE) -C $(PATH_TOP)/src/emx $(EMX_DEFINES) all 896 897 emx-install-it: \ 898 $(PATH_TOP)/src/emx/$(EMX_OUT)genrules.smak 899 $(MAKE) -C $(PATH_TOP)/src/emx $(EMX_DEFINES) install 900 901 902 # easy, update same stuff in a bunch of files. 903 EMX_FILE_VER = \ 904 emxbind/emxbind.h emxcat/emxcat.c emxdoc/emxdoc.c emxexp/emxexp.c emximp/emximp.c \ 905 emxload/emxload.c emxomf/emxaout.c emxomf/emxomf.c emxomf/emxomfar.c emxomf/emxomfld.c \ 906 emxomf/listomf.c emxstack/emxstack.c emxtsf/emxtsf.c os2/version.h 907 emx-versionstamps: 908 @echo "Version stamping EMX..." 909 @for file in $(EMX_FILE_VER); \ 910 do \ 911 echo " src/emx/src/$$file" && \ 912 if (cp -f $(PATH_TOP)/src/emx/src/$$file $(PATH_TOP)/src/emx/src/$$file.tmp && \ 913 sed -e '/#[\t ]*define[\t ]*VERSION[\t ]*/s/"0\.9d.*"/"0.9d $(INNOTEK_VERSION)"/' \ 914 $(PATH_TOP)/src/emx/src/$$file.tmp > $(PATH_TOP)/src/emx/src/$$file && \ 915 rm -f $(PATH_TOP)/src/emx/src/$$file.tmp) ; \ 916 then true; \ 917 else exit 1; \ 918 fi; \ 919 done 920 735 921 736 737 # do nothing *yet*. 738 emx-versionstamps: 739 echo "Todo Versionstamping EMX tools and such." 740 741 922 # Install the compiled emx stuff to builttools. 923 emx-builttools-stage2: 924 $(MAKE) -C $(PATH_TOP)/src/emx $(EMX_DEFINES) INS=$(PATH_BUILTTOOLS)/ install 925 926 742 927 # Generate diffs for Binutils (part of packing). 743 928 .PHONY: binutils-diff $(ALL_PREFIX)/src/diffs/emx-$(EMX_VERSION).diff -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.