Ignore:
Timestamp:
Apr 22, 2002, 2:27:54 AM (23 years ago)
Author:
bird
Message:

VDD. TARGET_PUBLIC - removed PUBLIB. BUILD_VERBOSE. TARGET_MODE assertion. ++

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:35 bird Exp $
     1# $Id: process.mak,v 1.6 2002-04-22 00:27:54 bird Exp $
    22
    33#
     
    2121!endif
    2222!if "$(ENV_STATUS)" != "OK"
    23 !error Fatal error: The enironment is not valid. Bad setup.mak?
     23!error Fatal error: The environment is not valid. Bad setup.mak?
    2424!endif
    2525
     
    2727!error Fatal error: TARGET_NAME is not defined! Should be set in the makefile.
    2828!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
    2964
    3065# -----------------------------------------------------------------------------
     
    3974# Default extension corresponds to the target mode.
    4075!ifndef TARGET_EXT
    41 ! if "$(TARGET_MODE)" == "CRT" || "$(TARGET_MODE)" == "DLL"
     76! if "$(TARGET_MODE)" == "DLL" || "$(TARGET_MODE)" == "CRT"
    4277TARGET_EXT  = $(EXT_DLL)
    4378! endif
     
    4580TARGET_EXT  = $(EXT_SYS)
    4681! endif
     82! if "$(TARGET_MODE)" == "IFS"
     83TARGET_EXT  = $(EXT_IFS)
     84! endif
     85! if "$(TARGET_MODE)" == "VDD"
     86TARGET_EXT  = $(EXT_VDD)
     87! endif
    4788! if "$(TARGET_MODE)" == "EXE"
    4889TARGET_EXT  = $(EXT_EXE)
    4990! endif
    50 ! if "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "PUBLIB" || "$(TARGET_MODE)" == "SYSLIB"
     91! if "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "SYSLIB" || "$(TARGET_MODE)" == "IFSLIB"
    5192TARGET_EXT  = $(EXT_LIB)
    5293! endif
     
    5596! endif
    5697! 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)")
    5899! endif
    59100!endif
     
    104145# Default import library file. (output)
    105146!ifndef TARGET_ILIB
    106 ! if "$(TARGET_MODE)" == "CRT" || "$(TARGET_MODE)" == "DLL"
     147! if "$(TARGET_MODE)" == "DLL" || "$(TARGET_MODE)" == "CRT"
    107148TARGET_ILIB =$(PATH_LIB)\$(TARGET_NAME).$(EXT_ILIB)
    108149! endif
    109150!endif
    110151
    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
     154TARGET_PUBNAME=
     155! ifdef TARGET_PUBLIC
     156!  if "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "SYSLIB" || "$(TARGET_MODE)" == "IFSLIB"
     157TARGET_PUBNAME=$(PATH_LIB)\$(TARGET_NAME).$(TARGET_EXT)
     158!  endif
     159!  if "$(TARGET_MODE)" == "EXE"
     160TARGET_PUBNAME=$(PATH_EXE)\$(TARGET_NAME).$(TARGET_EXT)
     161!  endif
     162!  if "$(TARGET_MODE)" == "DLL" || "$(TARGET_MODE)" == "CRT"
     163TARGET_PUBNAME=$(PATH_DLL)\$(TARGET_NAME).$(TARGET_EXT)
     164!  endif
     165!  if "$(TARGET_MODE)" == "SYS" || "$(TARGET_MODE)" == "IFS"
     166TARGET_PUBNAME=$(PATH_SYS)\$(TARGET_NAME).$(TARGET_EXT)
     167!  endif
     168!  if "$(TARGET_MODE)" == "VDD"
     169TARGET_PUBNAME=$(PATH_VDD)\$(TARGET_NAME).$(TARGET_EXT)
     170!  endif
    117171! endif
    118172!endif
     
    194248.asm{$(PATH_TARGET)}.$(EXT_OBJ):
    195249    @$(ECHO) Assembling $(CLRFIL)$< $(CLRRST)
     250!ifndef BUILD_VERBOSE
     251    @ \
     252!endif
    196253!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)$@
    198255!else
    199     @$(AS) $(AS_FLAGS) $< $(AS_OBJ_OUT)$@
     256    $(AS) $(AS_FLAGS) $< $(AS_OBJ_OUT)$@
    200257!endif
    201258
    202259.asm.$(EXT_OBJ):
    203260    @$(ECHO) Assembling $(CLRFIL)$< $(CLRRST)
     261!ifndef BUILD_VERBOSE
     262    @ \
     263!endif
    204264!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)
    206266!else
    207     @$(AS) $(AS_FLAGS) $< $(AS_OBJ_OUT)$(PATH_TARGET)\$(@F)
     267    $(AS) $(AS_FLAGS) $< $(AS_OBJ_OUT)$(PATH_TARGET)\$(@F)
    208268!endif
    209269
     
    212272.cpp{$(PATH_TARGET)}.$(EXT_OBJ):
    213273    @$(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"
    216279        $(CXX_FLAGS_EXE) \
    217280!endif
     
    235298.cpp.$(EXT_OBJ):
    236299    @$(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"
    239305        $(CXX_FLAGS_EXE) \
    240306!endif
     
    260326.cpp.pre-cpp:
    261327    @$(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"
    264333        $(CXX_FLAGS_EXE) \
    265334!endif
     
    282351.c{$(PATH_TARGET)}.$(EXT_OBJ):
    283352    @$(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"
    286358        $(CC_FLAGS_EXE) \
    287359!endif
     
    305377.c.$(EXT_OBJ):
    306378    @$(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"
    309384        $(CC_FLAGS_EXE) \
    310385!endif
     
    330405.c.pre-c:
    331406    @$(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"
    334412        $(CC_FLAGS_EXE) \
    335413!endif
     
    352430.rc{$(PATH_TARGET)}.res:
    353431    @$(ECHO) RC Compiler $(CLRFIL)$< $(CLRRST)
    354     @$(RC) $(RC_FLAGS) $< $@
     432!ifndef BUILD_VERBOSE
     433    @ \
     434!endif
     435    $(RC) $(RC_FLAGS) $< $@
    355436
    356437.rc.res:
    357438    @$(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)
    359443
    360444
     
    386470!endif
    387471
    388 build: $(SUBDIRS_BUILD) $(PREMAKEFILES_BUILD) $(TARGET) $(TARGET_ILIB) $(TARGET_PUBLIB)
     472build: $(SUBDIRS_BUILD) $(PREMAKEFILES_BUILD) $(TARGET) $(TARGET_ILIB) $(TARGET_PUBNAME)
    389473    @$(ECHO) Successfully Built $(CLRFIL)$(TARGET) $(TARGET_ILIB)$(CLRRST)
    390474!ifdef POSTMAKEFILES
     
    411495!endif
    412496
    413 lib: $(SUBDIRS_LIB)  $(TARGET_ILIB) $(TARGET_PUBLIB)
     497!if "$(TARGET_MODE)" == "LIB" || "$(TARGET_MODE)" == "SYSLIB" || "$(TARGET_MODE)" == "IFSLIB"
     498lib: $(SUBDIRS_LIB) $(TARGET_ILIB) $(TARGET_PUBNAME)
     499!else
     500lib: $(SUBDIRS_LIB) $(TARGET_ILIB)
     501!endif
    414502!ifdef POSTMAKEFILES
    415503    @$(TOOL_DOMAKES) "$(POSTMAKEFILES)" $(TOOL_MAKE) $@
     
    424512# -----------------------------------------------------------------------------
    425513install:
    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
    450537!endif
    451538!if "$(TARGET_DOCS)" != ""
     
    469556# -----------------------------------------------------------------------------
    470557!ifndef BUILD_OWN_TESTCASE_RULE
    471 testcase: install
     558testcase:
    472559!if [$(TOOL_EXISTS) testcase] == 0
    473560    @$(TOOL_DODIRS) "testcase" $(TOOL_MAKE) $@
     
    494581dep:
    495582    @$(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)\
    497587!ifdef TARGET_NO_DEP
    498588        -x$(TARGET_NO_DEP: =;)\
     
    550640# The $(TARGET) rule - For EXE, DLL, SYS and IFS targets
    551641# -----------------------------------------------------------------------------
    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"
    553643$(TARGET): $(TARGET_OBJS) $(TARGET_RES) $(TARGET_DEF) $(TARGET_LNK) $(TARGET_DEPS)
    554644    @$(ECHO) Linking $(TARGET_MODE) $(CLRFIL)$@ $(CLRRST)
     645!ifndef BUILD_VERBOSE
     646    @ \
     647!endif
    555648!ifdef TARGET_IGNORE_LINKER_WARNINGS
    556649    -4 \
     
    560653!endif
    561654!if "$(TARGET_MODE)" == "DLL" || "$(TARGET_MODE)" == "CRT"
    562     @$(LINK_CMD_DLL)
     655    $(LINK_CMD_DLL)
    563656!endif
    564657!if "$(TARGET_MODE)" == "SYS"
    565     @$(LINK_CMD_SYS)
     658    $(LINK_CMD_SYS)
    566659!endif
    567660!if "$(TARGET_MODE)" == "IFS"
    568     @$(LINK_CMD_IFS)
     661    $(LINK_CMD_IFS)
     662!endif
     663!if "$(TARGET_MODE)" == "VDD"
     664    $(LINK_CMD_VDD)
    569665!endif
    570666!if "$(TARGET_RES)" != "" && "$(RL)" != ""
    571667    @$(ECHO) Linking Resources $(CLRRST)
    572     @$(RL) $(RL_FLAGS) $(TARGET_RES) $@
     668! ifndef BUILD_VERBOSE
     669    @ \
     670! endif
     671    $(RL) $(RL_FLAGS) $(TARGET_RES) $@
    573672!endif
    574673!if "$(TARGET_DLLRNAME)" != ""
    575674    @$(ECHO) Dll Rename $(TARGET_DLLRNAME)
     675! ifndef BUILD_VERBOSE
     676    @ \
     677! endif
    576678    $(TOOL_DLLRNAME) $(TARGET) $(TARGET_DLLRNAME)
    577679!endif
     
    589691$(LINK_LNK5)
    590692<<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"
    598700$(TARGET): $(TARGET_OBJS) $(TARGET_LNK) $(TARGET_DEPS)
    599701    @$(ECHO) Creating Library $(CLRFIL)$@ $(CLRRST)
     702!ifndef BUILD_VERBOSE
     703    @$(TOOL_RM) $@
     704    @$(AR_CMD)
     705!else
    600706    $(TOOL_RM) $@
    601707    $(AR_CMD)
     708!endif
    602709
    603710
     
    617724
    618725#
    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) $** $@
    626735!endif
    627736
     
    644753$(TARGET_ILIB): $(TARGET_IDEF)
    645754    @$(ECHO) Creating Import Library $(CLRFIL)$@ $(CLRRST)
     755!ifndef BUILD_VERBOSE
     756    @ \
     757!endif
    646758    $(IMPLIB) $(IMPLIB_FLAGS) $@ $(TARGET_IDEF)
    647759!endif
    648 !endif
    649760
    650761
     
    654765# -----------------------------------------------------------------------------
    655766.force:
     767!ifndef BUILD_VERBOSE
    656768    @$(ECHO) .
     769!else
     770    @$(ECHO) . (force) .
     771!endif
    657772
    658773
Note: See TracChangeset for help on using the changeset viewer.