Changeset 8290 for trunk/make/process.mak
- Timestamp:
- Apr 22, 2002, 2:27:54 AM (23 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/make/process.mak
r8270 r8290 1 # $Id: process.mak,v 1. 5 2002-04-16 00:09:35bird Exp $1 # $Id: process.mak,v 1.6 2002-04-22 00:27:54 bird Exp $ 2 2 3 3 # … … 21 21 !endif 22 22 !if "$(ENV_STATUS)" != "OK" 23 !error Fatal error: The en ironment is not valid. Bad setup.mak?23 !error Fatal error: The environment is not valid. Bad setup.mak? 24 24 !endif 25 25 … … 27 27 !error Fatal error: TARGET_NAME is not defined! Should be set in the makefile. 28 28 !endif 29 30 !ifdef TARGET_MODE 31 # Executable target mode. 32 ! if "$(TARGET_MODE)" != "EXE" 33 # Dynamic Load Library target mode. 34 ! if "$(TARGET_MODE)" != "DLL" 35 # Dynamic Load Library target mode - Special variant for making custom C/C++ runtime DLL. 36 ! if "$(TARGET_MODE)" != "CRT" 37 # Drive (/ system software) target mode. 38 ! if "$(TARGET_MODE)" != "SYS" 39 # Installable File System Drive target mode. (Also called FSD, File System Driver.) 40 ! if "$(TARGET_MODE)" != "IFS" 41 # Virtual Device Driver target mode. 42 ! if "$(TARGET_MODE)" != "VDD" 43 # Object Library target mode. 44 ! if "$(TARGET_MODE)" != "LIB" 45 # Object Library target mode - Special variant which is to be linked with a SYS target. 46 ! if "$(TARGET_MODE)" != "SYSLIB" 47 # Object Library target mode - Special variant which is to be linked with an IFS target. 48 ! if "$(TARGET_MODE)" != "IFSLIB" 49 # Dummy/Hub/TopLevel empty makefile. This has no target. 50 ! if "$(TARGET_MODE)" != "EMPTY" 51 ! error Error: Bad TARGET_MODE="$(TARGET_MODE)". Valid ones are: EXE, DLL, CRT, EXE, SYS, IFS, VDD, LIB, SYSLIB, IFSLIB and EMPTY. 52 ! endif 53 ! endif 54 ! endif 55 ! endif 56 ! endif 57 ! endif 58 ! endif 59 ! endif 60 ! endif 61 ! endif 62 !endif 63 29 64 30 65 # ----------------------------------------------------------------------------- … … 39 74 # Default extension corresponds to the target mode. 40 75 !ifndef TARGET_EXT 41 ! if "$(TARGET_MODE)" == " CRT" || "$(TARGET_MODE)" == "DLL"76 ! if "$(TARGET_MODE)" == "DLL" || "$(TARGET_MODE)" == "CRT" 42 77 TARGET_EXT = $(EXT_DLL) 43 78 ! endif … … 45 80 TARGET_EXT = $(EXT_SYS) 46 81 ! endif 82 ! if "$(TARGET_MODE)" == "IFS" 83 TARGET_EXT = $(EXT_IFS) 84 ! endif 85 ! if "$(TARGET_MODE)" == "VDD" 86 TARGET_EXT = $(EXT_VDD) 87 ! endif 47 88 ! if "$(TARGET_MODE)" == "EXE" 48 89 TARGET_EXT = $(EXT_EXE) 49 90 ! endif 50 ! if "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == " PUBLIB" || "$(TARGET_MODE)" == "SYSLIB"91 ! if "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "SYSLIB" || "$(TARGET_MODE)" == "IFSLIB" 51 92 TARGET_EXT = $(EXT_LIB) 52 93 ! endif … … 55 96 ! endif 56 97 ! ifndef TARGET_EXT 57 !error Error: TARGET_EXT not set. (Probably invalid TARGET_MODE.)98 !error Internal Error: TARGET_EXT not set. Probably invalid TARGET_MODE. (TARGET_MODE="$(TARGET_MODE)") 58 99 ! endif 59 100 !endif … … 104 145 # Default import library file. (output) 105 146 !ifndef TARGET_ILIB 106 ! if "$(TARGET_MODE)" == " CRT" || "$(TARGET_MODE)" == "DLL"147 ! if "$(TARGET_MODE)" == "DLL" || "$(TARGET_MODE)" == "CRT" 107 148 TARGET_ILIB =$(PATH_LIB)\$(TARGET_NAME).$(EXT_ILIB) 108 149 ! endif 109 150 !endif 110 151 111 # Default public library name. (output) 112 !ifndef TARGET_PUBLIB 113 ! if "$(TARGET_MODE)" == "PUBLIB" 114 TARGET_PUBLIB=$(PATH_LIB)\$(TARGET_NAME).$(TARGET_EXT) 115 ! else 116 TARGET_PUBLIB= 152 # Default public name. (output) 153 !ifndef TARGET_PUBNAME 154 TARGET_PUBNAME= 155 ! ifdef TARGET_PUBLIC 156 ! if "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "SYSLIB" || "$(TARGET_MODE)" == "IFSLIB" 157 TARGET_PUBNAME=$(PATH_LIB)\$(TARGET_NAME).$(TARGET_EXT) 158 ! endif 159 ! if "$(TARGET_MODE)" == "EXE" 160 TARGET_PUBNAME=$(PATH_EXE)\$(TARGET_NAME).$(TARGET_EXT) 161 ! endif 162 ! if "$(TARGET_MODE)" == "DLL" || "$(TARGET_MODE)" == "CRT" 163 TARGET_PUBNAME=$(PATH_DLL)\$(TARGET_NAME).$(TARGET_EXT) 164 ! endif 165 ! if "$(TARGET_MODE)" == "SYS" || "$(TARGET_MODE)" == "IFS" 166 TARGET_PUBNAME=$(PATH_SYS)\$(TARGET_NAME).$(TARGET_EXT) 167 ! endif 168 ! if "$(TARGET_MODE)" == "VDD" 169 TARGET_PUBNAME=$(PATH_VDD)\$(TARGET_NAME).$(TARGET_EXT) 170 ! endif 117 171 ! endif 118 172 !endif … … 194 248 .asm{$(PATH_TARGET)}.$(EXT_OBJ): 195 249 @$(ECHO) Assembling $(CLRFIL)$< $(CLRRST) 250 !ifndef BUILD_VERBOSE 251 @ \ 252 !endif 196 253 !if "$(TARGET_MODE)" == "SYS" || "$(TARGET_MODE)" == "SYSLIB" || "$(TARGET_MODE)" == "IFS" || "$(TARGET_MODE)" == "IFSLIB" 197 @$(AS) $(AS_FLAGS_SYS) $< $(AS_OBJ_OUT)$@254 $(AS) $(AS_FLAGS_SYS) $< $(AS_OBJ_OUT)$@ 198 255 !else 199 @$(AS) $(AS_FLAGS) $< $(AS_OBJ_OUT)$@256 $(AS) $(AS_FLAGS) $< $(AS_OBJ_OUT)$@ 200 257 !endif 201 258 202 259 .asm.$(EXT_OBJ): 203 260 @$(ECHO) Assembling $(CLRFIL)$< $(CLRRST) 261 !ifndef BUILD_VERBOSE 262 @ \ 263 !endif 204 264 !if "$(TARGET_MODE)" == "SYS" || "$(TARGET_MODE)" == "SYSLIB" || "$(TARGET_MODE)" == "IFS" || "$(TARGET_MODE)" == "IFSLIB" 205 @$(AS) $(AS_FLAGS_SYS) $< $(AS_OBJ_OUT)$(PATH_TARGET)\$(@F)265 $(AS) $(AS_FLAGS_SYS) $< $(AS_OBJ_OUT)$(PATH_TARGET)\$(@F) 206 266 !else 207 @$(AS) $(AS_FLAGS) $< $(AS_OBJ_OUT)$(PATH_TARGET)\$(@F)267 $(AS) $(AS_FLAGS) $< $(AS_OBJ_OUT)$(PATH_TARGET)\$(@F) 208 268 !endif 209 269 … … 212 272 .cpp{$(PATH_TARGET)}.$(EXT_OBJ): 213 273 @$(ECHO) C++ Compiler $(CLRFIL)$< $(CLRRST) 214 @$(CXX) \ 215 !if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "PUBLIB" 274 !ifndef BUILD_VERBOSE 275 @ \ 276 !endif 277 $(CXX) \ 278 !if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "LIB" 216 279 $(CXX_FLAGS_EXE) \ 217 280 !endif … … 235 298 .cpp.$(EXT_OBJ): 236 299 @$(ECHO) C++ Compiler $(CLRFIL)$< $(CLRRST) 237 @$(CXX) \ 238 !if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "PUBLIB" 300 !ifndef BUILD_VERBOSE 301 @ \ 302 !endif 303 $(CXX) \ 304 !if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "LIB" 239 305 $(CXX_FLAGS_EXE) \ 240 306 !endif … … 260 326 .cpp.pre-cpp: 261 327 @$(ECHO) C++ Compiler $(CLRFIL)$< $(CLRRST) 262 @$(CXX) \ 263 !if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "PUBLIB" 328 !ifndef BUILD_VERBOSE 329 @ \ 330 !endif 331 $(CXX) \ 332 !if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "LIB" 264 333 $(CXX_FLAGS_EXE) \ 265 334 !endif … … 282 351 .c{$(PATH_TARGET)}.$(EXT_OBJ): 283 352 @$(ECHO) C Compiler $(CLRFIL)$< $(CLRRST) 284 @$(CC) \ 285 !if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "PUBLIB" 353 !ifndef BUILD_VERBOSE 354 @ \ 355 !endif 356 $(CC) \ 357 !if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "LIB" 286 358 $(CC_FLAGS_EXE) \ 287 359 !endif … … 305 377 .c.$(EXT_OBJ): 306 378 @$(ECHO) C Compiler $(CLRFIL)$< $(CLRRST) 307 @$(CC) \ 308 !if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "PUBLIB" 379 !ifndef BUILD_VERBOSE 380 @ \ 381 !endif 382 $(CC) \ 383 !if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "LIB" 309 384 $(CC_FLAGS_EXE) \ 310 385 !endif … … 330 405 .c.pre-c: 331 406 @$(ECHO) C PreCompiler $(CLRFIL)$< $(CLRRST) 332 @$(CC) \ 333 !if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "PUBLIB" 407 !ifndef BUILD_VERBOSE 408 @ \ 409 !endif 410 $(CC) \ 411 !if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "LIB" 334 412 $(CC_FLAGS_EXE) \ 335 413 !endif … … 352 430 .rc{$(PATH_TARGET)}.res: 353 431 @$(ECHO) RC Compiler $(CLRFIL)$< $(CLRRST) 354 @$(RC) $(RC_FLAGS) $< $@ 432 !ifndef BUILD_VERBOSE 433 @ \ 434 !endif 435 $(RC) $(RC_FLAGS) $< $@ 355 436 356 437 .rc.res: 357 438 @$(ECHO) RC Compiler $(CLRFIL)$< $(CLRRST) 358 @$(RC) $(RC_FLAGS) $< $(PATH_TARGET)\$(@F) 439 !ifndef BUILD_VERBOSE 440 @ \ 441 !endif 442 $(RC) $(RC_FLAGS) $< $(PATH_TARGET)\$(@F) 359 443 360 444 … … 386 470 !endif 387 471 388 build: $(SUBDIRS_BUILD) $(PREMAKEFILES_BUILD) $(TARGET) $(TARGET_ILIB) $(TARGET_PUB LIB)472 build: $(SUBDIRS_BUILD) $(PREMAKEFILES_BUILD) $(TARGET) $(TARGET_ILIB) $(TARGET_PUBNAME) 389 473 @$(ECHO) Successfully Built $(CLRFIL)$(TARGET) $(TARGET_ILIB)$(CLRRST) 390 474 !ifdef POSTMAKEFILES … … 411 495 !endif 412 496 413 lib: $(SUBDIRS_LIB) $(TARGET_ILIB) $(TARGET_PUBLIB) 497 !if "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "SYSLIB" || "$(TARGET_MODE)" == "IFSLIB" 498 lib: $(SUBDIRS_LIB) $(TARGET_ILIB) $(TARGET_PUBNAME) 499 !else 500 lib: $(SUBDIRS_LIB) $(TARGET_ILIB) 501 !endif 414 502 !ifdef POSTMAKEFILES 415 503 @$(TOOL_DOMAKES) "$(POSTMAKEFILES)" $(TOOL_MAKE) $@ … … 424 512 # ----------------------------------------------------------------------------- 425 513 install: 426 !if "$(TARGET_MODE)" == "EXE" 427 if exist $(TARGET) $(TOOL_COPY) $(TARGET) $(PATH_BIN) 428 !endif 429 !if "$(TARGET_MODE)" == "DLL" || "$(TARGET_MODE)" == "CRT" 430 if exist $(TARGET) $(TOOL_COPY) $(TARGET) $(PATH_DLL) 431 !endif 432 !if "$(TARGET_MODE)" == "SYS" || "$(TARGET_MODE)" == "IFS" || "$(TARGET_MODE)" == "IFSLIB" 433 if exist $(TARGET) $(TOOL_COPY) $(TARGET) $(PATH_SYS) 434 !endif 435 !if 0 436 # Nothing to do here currently. These are either private or they're allready where they should be. 437 # 438 # TODO/BUGBUG/FIXME: 439 # The PUB stuff should be change to a separate variable. 440 # It will make life easier to just state that this target, 441 # what ever it is, should be public. 442 # 443 # That's allow project to install targets during make without 444 # running the install command by setting some target modes 445 # public by default. 446 # (kso) 447 #!if "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "PUBLIB" || "$(TARGET_MODE)" == "SYSLIB" 448 # if exist $(TARGET) $(TOOL_COPY) $(TARGET) $(PATH_LIB) 449 #!endif 514 !if "$(TARGET_PUBLIC)" == "" 515 ! if "$(TARGET_MODE)" == "EXE" 516 @$(ECHO) Installing $(CLRFIL)$(TARGET)$(CLRTXT) in directory $(CLRFIL)$(PATH_BIN)$(CLRRST) 517 @if not exist $(TARGET) $(ECHO) $(CLRERR)WARNING: $(CLRFIL)$(TARGET)$(CLRERR) doesn't exist. $(CLRRST) 518 @if exist $(TARGET) $(TOOL_COPY) $(TARGET) $(PATH_BIN) 519 ! endif 520 ! if "$(TARGET_MODE)" == "DLL" || "$(TARGET_MODE)" == "CRT" 521 @$(ECHO) Installing $(CLRFIL)$(TARGET)$(CLRTXT) in directory $(CLRFIL)$(PATH_DLL)$(CLRRST) 522 @if not exist $(TARGET) $(ECHO) $(CLRERR)WARNING: $(CLRFIL)$(TARGET)$(CLRERR) doesn't exist. $(CLRRST) 523 @if exist $(TARGET) $(TOOL_COPY) $(TARGET) $(PATH_DLL) 524 ! endif 525 ! if "$(TARGET_MODE)" == "SYS" || "$(TARGET_MODE)" == "IFS" 526 @$(ECHO) Installing $(CLRFIL)$(TARGET)$(CLRTXT) in directory $(CLRFIL)$(PATH_SYS)$(CLRRST) 527 @if not exist $(TARGET) $(ECHO) $(CLRERR)WARNING: $(CLRFIL)$(TARGET)$(CLRERR) doesn't exist. $(CLRRST) 528 @if exist $(TARGET) $(TOOL_COPY) $(TARGET) $(PATH_SYS) 529 ! endif 530 !if 1 # these targets are either TARGET_PUBLIC or all private. 531 ! if "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "SYSLIB" || "$(TARGET_MODE)" == "IFSLIB" 532 @$(ECHO) Installing $(CLRFIL)$(TARGET)$(CLRTXT) in directory $(CLRFIL)$(PATH_LIB)$(CLRRST) 533 @if not exist $(TARGET) $(ECHO) $(CLRERR)WARNING: $(CLRFIL)$(TARGET)$(CLRERR) doesn't exist. $(CLRRST) 534 @if exist $(TARGET) $(TOOL_COPY) $(TARGET) $(PATH_LIB) 535 ! endif 536 ! endif 450 537 !endif 451 538 !if "$(TARGET_DOCS)" != "" … … 469 556 # ----------------------------------------------------------------------------- 470 557 !ifndef BUILD_OWN_TESTCASE_RULE 471 testcase: install558 testcase: 472 559 !if [$(TOOL_EXISTS) testcase] == 0 473 560 @$(TOOL_DODIRS) "testcase" $(TOOL_MAKE) $@ … … 494 581 dep: 495 582 @$(ECHO) Building dependencies $(CLRRST) 496 @$(TOOL_DEP) $(TOOL_DEP_FLAGS) -o$$(PATH_TARGET) -d$(TARGET_DEPEND)\ 583 !ifndef BUILD_VERBOSE 584 @ \ 585 !endif 586 $(TOOL_DEP) $(TOOL_DEP_FLAGS) -o$$(PATH_TARGET) -d$(TARGET_DEPEND)\ 497 587 !ifdef TARGET_NO_DEP 498 588 -x$(TARGET_NO_DEP: =;)\ … … 550 640 # The $(TARGET) rule - For EXE, DLL, SYS and IFS targets 551 641 # ----------------------------------------------------------------------------- 552 !if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "DLL" || "$(TARGET_MODE)" == "CRT" || "$(TARGET_MODE)" == "SYS" || "$(TARGET_MODE)" == "IFS" 642 !if "$(TARGET_MODE)" == "EXE" || "$(TARGET_MODE)" == "DLL" || "$(TARGET_MODE)" == "CRT" || "$(TARGET_MODE)" == "SYS" || "$(TARGET_MODE)" == "IFS" || "$(TARGET_MODE)" == "VDD" 553 643 $(TARGET): $(TARGET_OBJS) $(TARGET_RES) $(TARGET_DEF) $(TARGET_LNK) $(TARGET_DEPS) 554 644 @$(ECHO) Linking $(TARGET_MODE) $(CLRFIL)$@ $(CLRRST) 645 !ifndef BUILD_VERBOSE 646 @ \ 647 !endif 555 648 !ifdef TARGET_IGNORE_LINKER_WARNINGS 556 649 -4 \ … … 560 653 !endif 561 654 !if "$(TARGET_MODE)" == "DLL" || "$(TARGET_MODE)" == "CRT" 562 @$(LINK_CMD_DLL)655 $(LINK_CMD_DLL) 563 656 !endif 564 657 !if "$(TARGET_MODE)" == "SYS" 565 @$(LINK_CMD_SYS)658 $(LINK_CMD_SYS) 566 659 !endif 567 660 !if "$(TARGET_MODE)" == "IFS" 568 @$(LINK_CMD_IFS) 661 $(LINK_CMD_IFS) 662 !endif 663 !if "$(TARGET_MODE)" == "VDD" 664 $(LINK_CMD_VDD) 569 665 !endif 570 666 !if "$(TARGET_RES)" != "" && "$(RL)" != "" 571 667 @$(ECHO) Linking Resources $(CLRRST) 572 @$(RL) $(RL_FLAGS) $(TARGET_RES) $@ 668 ! ifndef BUILD_VERBOSE 669 @ \ 670 ! endif 671 $(RL) $(RL_FLAGS) $(TARGET_RES) $@ 573 672 !endif 574 673 !if "$(TARGET_DLLRNAME)" != "" 575 674 @$(ECHO) Dll Rename $(TARGET_DLLRNAME) 675 ! ifndef BUILD_VERBOSE 676 @ \ 677 ! endif 576 678 $(TOOL_DLLRNAME) $(TARGET) $(TARGET_DLLRNAME) 577 679 !endif … … 589 691 $(LINK_LNK5) 590 692 <<KEEP 591 592 593 594 # ----------------------------------------------------------------------------- 595 # The $(TARGET) rule - For LIB, PUBLIB, and SYSLIB targets.596 # ----------------------------------------------------------------------------- 597 !if "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == " PUBLIB" || "$(TARGET_MODE)" == "SYSLIB" || "$(TARGET_MODE)" == "IFSLIB"693 !endif 694 695 696 # ----------------------------------------------------------------------------- 697 # The $(TARGET) rule - For LIB, SYSLIB, and IFSLIB targets. 698 # ----------------------------------------------------------------------------- 699 !if "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "SYSLIB" || "$(TARGET_MODE)" == "IFSLIB" 598 700 $(TARGET): $(TARGET_OBJS) $(TARGET_LNK) $(TARGET_DEPS) 599 701 @$(ECHO) Creating Library $(CLRFIL)$@ $(CLRRST) 702 !ifndef BUILD_VERBOSE 703 @$(TOOL_RM) $@ 704 @$(AR_CMD) 705 !else 600 706 $(TOOL_RM) $@ 601 707 $(AR_CMD) 708 !endif 602 709 603 710 … … 617 724 618 725 # 619 # Copy rule for public libraries. 620 # BUGBUG/TODO/FIXME: get rid of the PUBLIB stuff. see commet in install. 621 # 622 !if "$(TARGET_MODE)" == "PUBLIB" 623 $(TARGET_PUBLIB): $(TARGET) 624 @$(ECHO) Copying $(CLRFIL)$(TARGET)$(CLRTXT) to the Library Directory $(CLRRST) 625 @$(TOOL_COPY) $** $@ 726 # Copy rule for public targets. 727 # 728 !if "$(TARGET_PUBNAME)" != "" 729 $(TARGET_PUBNAME): $(TARGET) 730 @$(ECHO) Copying $(CLRFIL)$(TARGET)$(CLRTXT) to $(CLRFIL)$(@D)$(CLRRST) 731 !ifndef BUILD_VERBOSE 732 @ \ 733 !endif 734 $(TOOL_COPY) $** $@ 626 735 !endif 627 736 … … 644 753 $(TARGET_ILIB): $(TARGET_IDEF) 645 754 @$(ECHO) Creating Import Library $(CLRFIL)$@ $(CLRRST) 755 !ifndef BUILD_VERBOSE 756 @ \ 757 !endif 646 758 $(IMPLIB) $(IMPLIB_FLAGS) $@ $(TARGET_IDEF) 647 759 !endif 648 !endif649 760 650 761 … … 654 765 # ----------------------------------------------------------------------------- 655 766 .force: 767 !ifndef BUILD_VERBOSE 656 768 @$(ECHO) . 769 !else 770 @$(ECHO) . (force) . 771 !endif 657 772 658 773
Note:
See TracChangeset
for help on using the changeset viewer.