Ignore:
Timestamp:
Mar 7, 2000, 12:12:31 PM (26 years ago)
Author:
bird
Message:

Corrections.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/msvcrt/makefile

    r3031 r3037  
    1 # $Id: makefile,v 1.14 2000-03-06 23:38:46 bird Exp $
     1# $Id: makefile,v 1.15 2000-03-07 11:08:46 bird Exp $
    22
    33#
    4 # PD-Win32 API
     4# Odin32 API
    55#
    66#       msvcrt.dll makefile
    77#
    88
    9 # Kso: not converted.
    10 OLDBUILD = 1
    11 
     9# Directory macros.
    1210PDWIN32_INCLUDE = ..\..\include
    13 PDWIN32_LIB = ..\..\lib
    14 PDWIN32_BIN = ..\..\bin
    15 PDWIN32_TOOLS = ..\..\tools\bin
     11PDWIN32_LIB     = ..\..\lib
     12PDWIN32_BIN     = ..\..\$(OBJDIR)
     13PDWIN32_TOOLS   = ..\..\tools\bin
    1614
    1715
     16# Compiler, tools, and interference rules.
    1817!include $(PDWIN32_INCLUDE)/pdwin32.mk
    1918
    2019
    21 CFLAGS = $(CFLAGS) -I$(PDWIN32_INCLUDE)
    22 CXXFLAGS = $(CXXFLAGS) -I$(PDWIN32_INCLUDE)
    23 
    24 RC = $(PDWIN32_TOOLS)\wrc
    25 RCFLAGS = -s -I. -I$(CPPMAIN)\include -I$(PDWIN32_INCLUDE) -I$(PDWIN32_INCLUDE)\win
    26 
    27 TARGET = msvcrt
    28 TARGET20 = msvcrt20
    29 TARGET40 = msvcrt40
    30 
    31 OBJS   =  msvcrt.obj resource.obj $(PDWIN32_LIB)/dllentry.obj
    32 OBJS20 =  msvcrt.obj resource20.obj $(PDWIN32_LIB)/dllentry.obj
    33 OBJS40 =  msvcrt.obj resource40.obj $(PDWIN32_LIB)/dllentry.obj
    34 
    35 all: $(TARGET).dll $(TARGET).lib $(TARGET20).dll $(TARGET20).lib \
    36      $(TARGET40).dll $(TARGET40).lib
     20# Flag overloads and local macros.
     21CLEANEXTRAS = msvcrtrsrc.asm msvcrt20rsrc.asm msvcrt40rsrc.asm \
     22              $(PDWIN32_BIN)\msvcrt.dll   $(PDWIN32_LIB)\msvcrt.lib   \
     23              $(PDWIN32_BIN)\msvcrt20.dll $(PDWIN32_LIB)\msvcrt20.lib \
     24              $(PDWIN32_BIN)\msvcrt40.dll $(PDWIN32_LIB)\msvcrt40.lib
    3725
    3826
    39 $(TARGET).dll: $(OBJS) $(TARGET).def
    40     $(LD) $(LDFLAGS) -Fm -Fe$@ $(OBJS) $(TARGET).def \
    41           $(PDWIN32_LIB)/kernel32.lib \
    42           $(PDWIN32_LIB)/crtdll.lib  \
    43           $(PDWIN32_LIB)/odincrt.lib OS2386.LIB $(RTLLIB_O)
    44     $(CP) $@ $(PDWIN32_BIN)
    45 
    46 $(TARGET20).dll: $(OBJS20) $(TARGET20).def
    47     $(LD) $(LDFLAGS) -Fm -Fe$@ $(OBJS20) $(TARGET20).def \
    48           $(PDWIN32_LIB)/kernel32.lib \
    49           $(PDWIN32_LIB)/crtdll.lib \
    50           $(PDWIN32_LIB)/odincrt.lib OS2386.LIB $(RTLLIB_O)
    51     $(CP) $@ $(PDWIN32_BIN)
    52 
    53 $(TARGET40).dll: $(OBJS40) $(TARGET40).def
    54     $(LD) $(LDFLAGS) -Fm -Fe$@ $(OBJS40) $(TARGET40).def \
    55           $(PDWIN32_LIB)/kernel32.lib \
    56           $(PDWIN32_LIB)/crtdll.lib  \
    57           $(PDWIN32_LIB)/odincrt.lib OS2386.LIB $(RTLLIB_O)
    58     $(CP) $@ $(PDWIN32_BIN)
     27# Object files. All objects should be prefixed with $(OBJDIR)!
     28OBJS = \
     29$(OBJDIR)\msvcrt.obj \
     30$(OBJDIR)\$(TARGET)rsrc.obj \
     31$(PDWIN32_LIB)\dllentry.obj
    5932
    6033
    61 lib: $(TARGET).lib  $(PDWIN32_LIB)\$(TARGET).lib \
    62                     $(PDWIN32_LIB)\$(TARGET20).lib \
    63                     $(PDWIN32_LIB)\$(TARGET40).lib
     34!ifndef TARGET
    6435
    65 $(PDWIN32_LIB)\$(TARGET).lib: $(TARGET).lib
    66     $(CP) $** $@
    67 
    68 $(PDWIN32_LIB)\$(TARGET20).lib: $(TARGET20).lib
    69     $(CP) $** $@
    70 
    71 $(PDWIN32_LIB)\$(TARGET40).lib: $(TARGET40).lib
    72     $(CP) $** $@
    73 
    74 $(TARGET).lib: $(TARGET).def
    75     $(IMPLIB) $(IMPLIBFLAGS) $@ $**
    76     $(CP) $@ $(PDWIN32_LIB)
    77 
    78 $(TARGET20).lib: $(TARGET20).def
    79     $(IMPLIB) $(IMPLIBFLAGS) $@ $**
    80     $(CP) $@ $(PDWIN32_LIB)
    81 
    82 $(TARGET40).lib: $(TARGET40).def
    83     $(IMPLIB) $(IMPLIBFLAGS) $@ $**
    84     $(CP) $@ $(PDWIN32_LIB)
    85 
    86 resource.asm: msvcrt.rc
    87     $(RC) $(RCFLAGS) -o resource.asm msvcrt.rc
    88 
    89 resource20.asm: msvcrt20.rc
    90     $(RC) $(RCFLAGS) -o resource20.asm msvcrt20.rc
    91 
    92 resource40.asm: msvcrt40.rc
    93     $(RC) $(RCFLAGS) -o resource40.asm msvcrt40.rc
     36# Dummy all rule - if not both all and lib will be invoked when
     37# invoking nmake without a target.
     38_all: all
    9439
    9540
     41# All and lib rules - builds all targets by reinvoking make with target macro set.
     42all lib:
     43    $(MAKE_CMD) TARGET=msvcrt   $@
     44    $(MAKE_CMD) TARGET=msvcrt20 $@
     45    $(MAKE_CMD) TARGET=msvcrt40 $@
     46
     47
     48!else
     49
     50
     51# Real all rule - build objs, target dll, copies dll to bin and makes libs.
     52all:   $(OBJDIR) \
     53        $(OBJDIR)\$(TARGET).dll \
     54        $(PDWIN32_BIN)\$(TARGET).dll \
     55        lib
     56
     57
     58# Real lib rule - build importlibrary (and evt. other libs)
     59lib: $(TARGET).lib $(PDWIN32_LIB)\$(TARGET).lib
     60
     61!endif
     62
     63
     64# Dll rule - builds the target dll.
     65$(OBJDIR)\$(TARGET).dll: $(OBJS) $(TARGET).def $(OBJDIR)\$(TARGET).lrf
     66    -4 $(LD2) $(LD2FLAGS) @$(OBJDIR)\$(TARGET).lrf
     67
     68
     69# Linker file - creates the parameter file passed on to the linker.
     70$(OBJDIR)\$(TARGET).lrf: makefile
     71    @echo Creating file <<$@
     72/OUT:$(OBJDIR)\$(TARGET).dll
     73/MAP:$(OBJDIR)\$(TARGET).map
     74$(OBJS)
     75$(PDWIN32_LIB)/kernel32.lib
     76$(PDWIN32_LIB)/crtdll.lib
     77$(PDWIN32_LIB)/odincrt.lib
     78OS2386.LIB
     79$(RTLLIB_O)
     80$(TARGET).def
     81<<keep
     82
     83
     84# Dep rule - makes depenencies for C, C++ and Asm files.
    9685dep:
    9786    $(DEPEND) -I$(PDWIN32_INCLUDE);$(PDWIN32_INCLUDE)\win \
    9887        *.c *.cpp *.h *.asm *.inc $(PDWIN32_INCLUDE)\*.h
    9988
    100 !ifndef NODEP
    101 !include .depend
     89
     90# Dummy target used for clean
     91!ifndef TARGET
     92TARGET = msvcrt
    10293!endif
    10394
    10495
    105 clean:
    106     $(RM) *.obj *.lib *.dll *.map *.pch resource*.asm \
    107         $(PDWIN32_BIN)\$(TARGET).dll \
    108         $(PDWIN32_BIN)\$(TARGET20).dll \
    109         $(PDWIN32_BIN)\$(TARGET40).dll \
    110         $(PDWIN32_LIB)\$(TARGET).lib   \
    111         $(PDWIN32_LIB)\$(TARGET20).lib \
    112         $(PDWIN32_LIB)\$(TARGET40).lib
     96# Includes the common rules.
     97!include $(PDWIN32_INCLUDE)/pdwin32.post
    11398
Note: See TracChangeset for help on using the changeset viewer.