Changeset 4624 for trunk/src/kernel32


Ignore:
Timestamp:
Nov 19, 2000, 10:27:40 AM (25 years ago)
Author:
bird
Message:

New makefile style.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/makefile

    r4587 r4624  
    1 # $Id: makefile,v 1.106 2000-11-13 06:48:55 phaller Exp $
     1# $Id: makefile,v 1.107 2000-11-19 09:14:19 bird Exp $
    22
    33#
     
    77#
    88
    9 # Directory macros.
    10 PDWIN32_INCLUDE = ..\..\include
    11 PDWIN32_LIB     = ..\..\lib
    12 PDWIN32_BIN     = ..\..\$(OBJDIR)
    13 PDWIN32_TOOLS   = ..\..\tools\bin
     9
     10#
     11# Compiler, tools, and interference rules.
     12#
     13!include ../../include/pdwin32.mk
    1414
    1515
    16 # Compiler, tools, and interference rules.
    17 !include $(PDWIN32_INCLUDE)/pdwin32.mk
    18 
    19 
    20 # Flag overloads and local macros.
    21 CLEANEXTRAS = kernelrsrc.asm
    22 
    23 #CFLAGS   = $(CFLAGS) -DDEBUG
    24 #CXXFLAGS = $(CXXFLAGS) /Fa+
    25 #LD2FLAGS = /nologo /DE /noe /map /NOD /dbgpack /packcode /packdata /exepack:2
    26 #CXXFLAGS = $(CXXFLAGS) /Ti+
    27 
    28 # Object files. All objects should be prefixed with $(OBJDIR)!
     16#
     17# Object files. Prefix with OBJDIR and one space before the '\'.
     18#
    2919OBJS = \
    30 $(OBJDIR)\KERNEL32.OBJ \
    31 $(OBJDIR)\KOBJECTS.OBJ \
    32 $(OBJDIR)\CONSOLE.OBJ \
    33 $(OBJDIR)\CONIN.OBJ \
    34 $(OBJDIR)\CONBUFFER.OBJ \
    35 $(OBJDIR)\CONBUFFERVIO.OBJ \
    36 $(OBJDIR)\CONOUT.OBJ \
    37 $(OBJDIR)\UNICODE.OBJ \
    38 $(OBJDIR)\network.OBJ \
    39 $(OBJDIR)\HMDEVIO.OBJ \
     20$(OBJDIR)\kernel32.obj \
     21$(OBJDIR)\kobjects.obj \
     22$(OBJDIR)\console.obj \
     23$(OBJDIR)\conin.obj \
     24$(OBJDIR)\conbuffer.obj \
     25$(OBJDIR)\conbuffervio.obj \
     26$(OBJDIR)\conout.obj \
     27$(OBJDIR)\unicode.obj \
     28$(OBJDIR)\network.obj \
     29$(OBJDIR)\hmdevio.obj \
    4030$(OBJDIR)\profile.obj \
    41 $(OBJDIR)\THREAD.OBJ \
     31$(OBJDIR)\thread.obj \
    4232$(OBJDIR)\virtual.obj \
    43 $(OBJDIR)\THUNK.OBJ \
    44 $(OBJDIR)\OBSOLETE.OBJ \
    45 $(OBJDIR)\COMM.OBJ \
    46 $(OBJDIR)\MESSAGE.OBJ \
    47 $(OBJDIR)\RESOURCE.OBJ \
    48 $(OBJDIR)\EXCEPTIONS.OBJ \
     33$(OBJDIR)\thunk.obj \
     34$(OBJDIR)\obsolete.obj \
     35$(OBJDIR)\comm.obj \
     36$(OBJDIR)\message.obj \
     37$(OBJDIR)\resource.obj \
     38$(OBJDIR)\exceptions.obj \
    4939$(OBJDIR)\heapshared.obj \
    5040$(OBJDIR)\cpuhlp.obj \
    5141$(OBJDIR)\heapcode.obj \
    52 $(OBJDIR)\LFILE.OBJ \
    53 $(OBJDIR)\NPIPE.OBJ \
     42$(OBJDIR)\lfile.obj \
     43$(OBJDIR)\npipe.obj \
    5444$(OBJDIR)\oslibdos.obj \
    5545$(OBJDIR)\oslibmisc.obj \
    5646$(OBJDIR)\ole2nls.obj \
    57 $(OBJDIR)\MISC.OBJ \
    58 $(OBJDIR)\EXCEPTUTIL.OBJ \
    59 $(OBJDIR)\LANG.OBJ \
    60 $(OBJDIR)\ICCIO.OBJ \
    61 $(OBJDIR)\MAP.OBJ \
    62 $(OBJDIR)\WIN32UTIL.OBJ \
    63 $(OBJDIR)\heap.OBJ \
     47$(OBJDIR)\misc.obj \
     48$(OBJDIR)\exceptutil.obj \
     49$(OBJDIR)\lang.obj \
     50$(OBJDIR)\iccio.obj \
     51$(OBJDIR)\map.obj \
     52$(OBJDIR)\win32util.obj \
     53$(OBJDIR)\heap.obj \
    6454$(OBJDIR)\heapstring.obj \
    65 $(OBJDIR)\os2heap.OBJ \
    66 $(OBJDIR)\vmutex.OBJ \
    67 $(OBJDIR)\vsemaphore.OBJ \
    68 $(OBJDIR)\initterm.OBJ \
    69 $(OBJDIR)\handlemanager.OBJ \
     55$(OBJDIR)\os2heap.obj \
     56$(OBJDIR)\vmutex.obj \
     57$(OBJDIR)\vsemaphore.obj \
     58$(OBJDIR)\initterm.obj \
     59$(OBJDIR)\handlemanager.obj \
    7060$(OBJDIR)\environ.obj \
    7161$(OBJDIR)\initsystem.obj \
     
    7868$(OBJDIR)\hmcomm.obj \
    7969$(OBJDIR)\hmsemaphore.obj \
    80 $(OBJDIR)\wprocess.OBJ \
    81 $(OBJDIR)\conprop.OBJ \
     70$(OBJDIR)\wprocess.obj \
     71$(OBJDIR)\conprop.obj \
    8272$(OBJDIR)\conprop2.obj \
    8373$(OBJDIR)\winimagelx.obj \
    84 $(OBJDIR)\winimagebase.OBJ \
    85 $(OBJDIR)\windllbase.OBJ \
    86 $(OBJDIR)\winexebase.OBJ \
     74$(OBJDIR)\winimagebase.obj \
     75$(OBJDIR)\windllbase.obj \
     76$(OBJDIR)\winexebase.obj \
    8777$(OBJDIR)\time.obj \
    8878$(OBJDIR)\mmap.obj \
     
    9585$(OBJDIR)\winexelx.obj \
    9686$(OBJDIR)\winexepeldr.obj \
    97 $(OBJDIR)\WINRES.OBJ \
     87$(OBJDIR)\winres.obj \
    9888$(OBJDIR)\critsection.obj \
    99 $(OBJDIR)\pefile.OBJ \
    100 $(OBJDIR)\winimgres.OBJ \
     89$(OBJDIR)\pefile.obj \
     90$(OBJDIR)\winimgres.obj \
    10191$(OBJDIR)\wintls.obj \
    102 $(OBJDIR)\async.OBJ \
     92$(OBJDIR)\async.obj \
    10393$(OBJDIR)\fileio.obj \
    10494$(OBJDIR)\hmtoken.obj \
     
    132122
    133123
     124#
     125# Libraries. One space before the '\'.
     126# (Note! the order here is important!)
     127#
     128LIBS = \
     129$(PDWIN32_LIB)/$(ODINCRT).lib \
     130$(PDWIN32_LIB)\PMWINX.LIB \
     131$(PDWIN32_LIB)\LIBULS.LIB \
     132$(PDWIN32_LIB)\LIBCONV.LIB \
     133$(PDWIN32_LIB)\WIN32K.LIB \
     134OS2386.LIB \
     135$(RTLLIB_O)
     136
     137
     138#
     139# OS/2 resourcefiles
     140#
     141OS2RES = \
     142$(OBJDIR)\console.res
     143
     144
     145#
    134146# Target name - name of the dll without extention and path.
     147#
    135148TARGET = kernel32
    136149
    137150
    138 # All rule - build objs, target dll, copies dll to bin and makes libs.
    139 all:    $(OBJDIR) \
    140         $(OBJDIR)\$(TARGET).dll \
    141         $(PDWIN32_BIN)\$(TARGET).dll \
    142         lib
    143 
    144 
    145 # Lib rule - build importlibrary (and evt. other libs)
    146 lib: $(TARGET).lib $(PDWIN32_LIB)\$(TARGET).lib
    147 
    148 
    149 # Dll rule - builds the target dll.
    150 $(OBJDIR)\$(TARGET).dll: $(OBJS) $(TARGET).def $(OBJDIR)\$(TARGET).lrf \
    151                           $(OBJDIR)\console.res
    152     $(LD2) $(LD2FLAGS) @$(OBJDIR)\$(TARGET).lrf
    153     $(OS2RC) $(OS2RCLFLAGS) $(OBJDIR)\console.res $@
    154 
    155 
    156 # Linker file - creates the parameter file passed on to the linker.
    157 $(OBJDIR)\$(TARGET).lrf: makefile
    158     @echo Creating file <<$(OBJDIR)\$(@B).lrf
    159 /OUT:$(OBJDIR)\$(TARGET).dll
    160 /MAP:$(OBJDIR)\$(TARGET).map
    161 $(OBJS)
    162 $(PDWIN32_LIB)/$(ODINCRT).lib
    163 $(PDWIN32_LIB)\PMWINX.LIB
    164 $(PDWIN32_LIB)\LIBULS.LIB
    165 $(PDWIN32_LIB)\LIBCONV.LIB
    166 $(PDWIN32_LIB)\WIN32K.LIB
    167 OS2386.LIB
    168 $(RTLLIB_O)
    169 $(TARGET).def
    170 <<keep
    171 
    172 
    173 # Dep rule - makes depenencies for C, C++ and Asm files.
    174 dep:
    175     $(DEPEND) -I. -I$(PDWIN32_INCLUDE);$(PDWIN32_INCLUDE)\win \
    176         *.c *.cpp *.h *.asm *.inc $(PDWIN32_INCLUDE)\*.h
    177 
    178 
     151#
    179152# Includes the common rules.
     153#
    180154!include $(PDWIN32_INCLUDE)/pdwin32.post
    181155
    182156
    183 #override flags for exceptions.cpp
     157#
     158# Override flags for exceptions.cpp
     159#  Hmm. This is compiler depended!
     160#
    184161$(OBJDIR)\exceptions.obj: exceptions.cpp
    185     $(CXX) $(CXXFLAGS) -Op- -Fo$(OBJDIR)\$(@B).obj -c exceptions.cpp
     162!if "$(VAC3)" == "1"  ||  "$(VAC36)" == "1"
     163    $(CXX) $(CXXFLAGS) $(CINCLUDES) $(CDEFINES) -Op- \
     164        -Fo$(OBJDIR)\$(@B).obj -c exceptions.cpp
     165!else
     166!   error "Compiler is not supported yet."
     167!endif
     168
Note: See TracChangeset for help on using the changeset viewer.