Changeset 8069 for trunk/src


Ignore:
Timestamp:
Mar 10, 2002, 5:58:29 AM (23 years ago)
Author:
bird
Message:

New makefile system.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/win32k/kKrnlLib/Makefile

    r7748 r8069  
    1 # $Id: Makefile,v 1.22 2002-01-09 00:42:54 bird Exp $
     1# $Id: Makefile,v 1.23 2002-03-10 04:58:29 bird Exp $
    22
    33#
    4 # kKrnlLib.sys makefile.
     4# kKrnlLib main file.
    55#
    6 # Copyright 1998-2001 knut st. osmundsen (knut.stange.osmundsen@mynd.no)
    7 #
    8 # Project Odin Software License can be found in LICENSE.TXT
     6# Copyright (c) 2002 knut st. osmundsen (bird@anduin.net)
    97#
    108
    119
    1210#
    13 # Include path definitions, common stuff and our own tools.
     11# Setup.
    1412#
    15 CDEFINESEXTRA   = -DKKRNLLIB
    16 CDEFINESEXTRA16 = -DKKRNLLIB
    17 !include makefile.inc
    18 !include ../../../makefile.inc
    19 !include ../win32k.tools.mk
     13PATH_ROOT = ..\..\..
     14!include $(PATH_ROOT)\tools\make\setup.mak
    2015
    2116
    2217#
    23 # Main targetname
     18# Config.
    2419#
    25 TARGET = kKrnlLib
     20TARGET_MODE = EMPTY
     21TARGET_NAME = kKrnlLib_empty
     22SUBDIRS     = tools include
     23PREMAKEFILES= kKrnlLib.mak #kKrnlLibR3.mak
    2624
    2725
    2826#
    29 # Main rules.
     27# Process
    3028#
    31 !if "$(DDKPATH)" != "" && "$(MSCPATH)" != ""  && "$(TOOLKIT)" != "" && "$(VACPATH)" != ""
    32 all:    $(WIN32KBIN)\$(TARGET).sys \
    33         $(ODIN32_BIN)\TRC00FD.TFF \
    34         lib
    35 lib:    $(ODIN32_LIB)\$(TARGET).lib \
    36         $(ODIN32_LIB)\$(TARGET)R3.lib
    37 !else
    38 all:
    39 lib:
    40 !endif
     29!include $(MAKE_INCLUDE_PROCESS)
    4130
    4231
    43 #
    44 # kKrnlLib.sys objects and libraries - Don't mess with the order or objects and libraries!
    45 #
    46 OBJS  =\
    47     $(WIN32KOBJ)\devfirst.obj \
    48     $(WIN32KOBJ)\d16strat.obj \
    49     $(WIN32KOBJ)\d32hlp.obj \
    50     $(WIN32KOBJ)\d32globals.obj \
    51     $(WIN32KOBJ)\d16globl.obj \
    52     $(WIN32KOBJ)\Log.obj \
    53     $(WIN32KOBJ)\calltaba.obj \
    54     $(WIN32KOBJ)\krnlInit.obj \
    55     $(WIN32KOBJ)\krnlLockedWrite.obj \
    56     $(WIN32KOBJ)\krnlOverloading.obj \
    57     $(WIN32KOBJ)\krnlPrologs.obj \
    58     $(WIN32KOBJ)\krnlStubs.obj \
    59     $(WIN32KOBJ)\asmutils.obj \
    60     $(WIN32KOBJ)\kAssert.obj \
    61     $(WIN32KOBJ)\kAVLPV.obj \
    62     $(WIN32KOBJ)\kAVLStr.obj \
    63     $(WIN32KOBJ)\kAVLStrI.obj \
    64     $(WIN32KOBJ)\kAVLULM.obj \
    65     $(WIN32KOBJ)\kLog.obj \
    66     $(WIN32KOBJ)\kLoga.obj \
    67     $(WIN32KOBJ)\kLogAVLUL.obj \
    68     $(WIN32KOBJ)\kLogAVLStr.obj \
    69     $(WIN32KOBJ)\malloc.obj \
    70     $(WIN32KOBJ)\smalloc.obj \
    71     $(WIN32KOBJ)\rmalloc.obj \
    72     $(WIN32KOBJ)\new.obj \
    73     $(WIN32KOBJ)\newdbg.obj \
    74     $(WIN32KOBJ)\stricmp.obj \
    75     $(WIN32KOBJ)\vsprintf.obj \
    76     $(WIN32KOBJ)\vprintf.obj \
    77     $(WIN32KOBJ)\abort.obj \
    78     $(WIN32KOBJ)\fltused.obj \
    79     $(WIN32KOBJ)\OS2KTCB.obj \
    80     $(WIN32KOBJ)\OS2KPTDA.obj \
    81     $(WIN32KOBJ)\env.obj \
    82     $(WIN32KOBJ)\vprntf16.obj \
    83     $(WIN32KOBJ)\d32init.obj \
    84     $(WIN32KOBJ)\d16init.obj_init \
    85     $(WIN32KOBJ)\ProbKrnl.obj_init \
    86     $(WIN32KOBJ)\SymDB32.obj
     32needed:
     33    @$(TOOL_DODIRS) "tools" $(TOOL_MAKE) build
     34#    @$(TOOL_DOMAKES) "" $(TOOL_MAKE) build
    8735
    88 LASTOBJ =\
    89     $(WIN32KOBJ)\devlast.obj
    90 
    91 LASTLIB = $(WIN32KOBJ)\lastlib.lib
    92 
    93 LIBS =\
    94     $(VACPATH)\lib\$(RTLLIB_NRE) \
    95     $(DDKPATH)\lib\os2386.lib \
    96     $(WIN32KOBJ)\devhelp.lib \
    97     $(WIN32KOBJ)\clib.lib
    98 
    99 
    100 #
    101 # kKrnlLib.sys rule. (Don't mess with the order or objects and libraries!)
    102 #
    103 $(TARGET).sys: $(WIN32KBIN)\$(TARGET).sys
    104 
    105 $(WIN32KBIN)\$(TARGET).sys: $(WIN32KBIN)\ignore.exe \
    106                             $(WIN32KBIN)\clfix.exe \
    107                             $(WIN32KINCLUDE)\options.inc \
    108                             $(OBJS) \
    109                             $(LIBS) \
    110                             $(WIN32KOBJ)\$(TARGET)bldlevel.def \
    111                             $(LASTLIB) \
    112                             $(LIBSINIT) \
    113                             $(WIN32KOBJ)\$(@B).lnk \
    114                             Makefile makefile.inc ..\..\..\makefile.inc
    115     @$(CMDQD_WAIT)
    116     -@$(ECHO) recompiling d16globl to get correct build time and date:
    117     $(CC16) -c $(CFLAGS16) $(CDEFINES16) $(CINCLUDES16) -Fo$(WIN32KOBJ)\d16globl.obj \
    118         -Fa$(WIN32KLIST)\d16globl.s dev16\d16globl.c
    119     -@$(ECHO) linking: $@
    120     -4 $(WIN32KBIN)\ignore.exe -LNK4001 -LNK4031 $(LD) $(LFLAGS) @$(WIN32KOBJ)\$(@B).lnk
    121     cd $(WIN32KBIN)
    122     @mapsym $(*B).map > nul
    123     cd $(WIN32KBASE)
    124     if not exist $(ODIN32_BIN) $(CREATEPATH) $(ODIN32_BIN)
    125     $(CP) $@ $(ODIN32_BIN)
    126     $(CP) $*.sym $(ODIN32_BIN)
    127     $(CP) $(WIN32KBASE)\$(*B).ddp $(ODIN32_BIN)
    128 
    129 # Linker file.
    130 $(WIN32KOBJ)\$(TARGET).lnk: Makefile makefile.inc ..\..\..\makefile.inc
    131     echo Creating linkerfile: @<<$(WIN32KOBJ)\$(TARGET).lnk
    132 /OUT:$(WIN32KBIN)\$(TARGET).sys
    133 /MAP:$(WIN32KBIN)\$(TARGET).map
    134 $(OBJS:  =^
    135 )
    136 $(LIBS:  =^
    137 )
    138 $(LASTLIB)
    139 $(WIN32KOBJ)\$(TARGET)bldlevel.def
    140 <<KEEP
    141 
    142 # Add bldlevel signature to kKrnlLib.def - creates temporary kKrnlLibbldlevel.def.
    143 $(WIN32KOBJ)\$(TARGET)bldlevel.def: $(TARGET).def Makefile
    144     -$(ECHO) Creates $@ with bldlevel signature string.
    145     $(BLDLEVELINF) $(TARGET).def $@ -R"$(TARGET).def" \
    146         -V"#define=ODIN32_VERSION,$(ODIN32_INCLUDE)\odinbuild.h" \
    147         -M"#define=ODIN32_BUILD_NR,$(ODIN32_INCLUDE)\odinbuild.h"
    148 
    149 # Last lib - needed to get LASTOBJ in after the importlibraries.
    150 $(LASTLIB): $(LASTOBJ)
    151     -@$(RM) $@ > nul 2> nul
    152     $(CMDQD_WAIT)
    153     $(ILIB) $@ $**;
    154 
    155 #
    156 #
    157 #   S p e c i a l   O b j e c t s
    158 #
    159 #
    160 !if "$(VAC3)" == "1" | "$(VAC36)" == "1"
    161 $(WIN32KOBJ)\new.obj new.obj: clib\new.cpp
    162     @$(CPPCOMPILE) -Tm- clib\new.cpp
    163 
    164 $(WIN32KOBJ)\newdbg.obj newdbg.obj: clib\newdbg.cpp
    165     @$(CPPCOMPILE) -Tm+ clib\newdbg.cpp
    166 !endif
    167 
    168 
    169 
    170 #
    171 # Win32ktst.exe object configuration.
    172 #   (It should be as identical as possible to kKrnlLib.sys.)
    173 #   (Don't mess with the order or objects and libraries!)
    174 #
    175 TSTOBJS =\
    176     $(WIN32KOBJ)\devfirst.obj \
    177     $(WIN32KOBJ)\d16strat.obj \
    178     $(WIN32KOBJ)\d32hlp.obj \
    179     $(WIN32KOBJ)\d32globals.obj \
    180     $(WIN32KOBJ)\d16globl.obj \
    181     $(WIN32KOBJ)\Log.obj_tst. \
    182     $(WIN32KOBJ)\calltaba.obj \
    183     $(WIN32KOBJ)\krnlInit.obj_tst. \
    184     $(WIN32KOBJ)\krnlLockedWrite.obj \
    185     $(WIN32KOBJ)\krnlOverloading.obj \
    186     $(WIN32KOBJ)\krnlPrologs.obj \
    187     $(WIN32KOBJ)\krnlStubs.obj \
    188     $(WIN32KOBJ)\asmutils.obj \
    189     $(WIN32KOBJ)\kAssert.obj \
    190     $(WIN32KOBJ)\kAVLPV.obj \
    191     $(WIN32KOBJ)\kAVLStr.obj \
    192     $(WIN32KOBJ)\kAVLStrI.obj \
    193     $(WIN32KOBJ)\kAVLULM.obj \
    194     $(WIN32KOBJ)\kLog.obj \
    195     $(WIN32KOBJ)\kLoga.obj \
    196     $(WIN32KOBJ)\kLogAVLUL.obj \
    197     $(WIN32KOBJ)\kLogAVLStr.obj \
    198     $(WIN32KOBJ)\malloc.obj_tst. \
    199     $(WIN32KOBJ)\smalloc.obj \
    200     $(WIN32KOBJ)\rmalloc.obj \
    201     $(WIN32KOBJ)\new.obj \
    202     $(WIN32KOBJ)\newdbg.obj \
    203     $(WIN32KOBJ)\stricmp.obj \
    204     $(WIN32KOBJ)\vsprintf.obj \
    205     $(WIN32KOBJ)\vprintf.obj_tst. \
    206     $(WIN32KOBJ)\abort.obj \
    207     $(WIN32KOBJ)\fltused.obj \
    208     $(WIN32KOBJ)\OS2KTCB.obj \
    209     $(WIN32KOBJ)\OS2KPTDA.obj \
    210     $(WIN32KOBJ)\env.obj \
    211     $(WIN32KOBJ)\$(TARGET)tst.obj \
    212     $(WIN32KOBJ)\dh.obj \
    213     $(WIN32KOBJ)\dos.obj \
    214     $(WIN32KOBJ)\dosa.obj \
    215     $(WIN32KOBJ)\init.obj \
    216     $(WIN32KOBJ)\fake.obj \
    217     $(WIN32KOBJ)\fakea.obj \
    218     $(WIN32KOBJ)\TstFakers.obj \
    219     $(WIN32KOBJ)\vprntf16.obj_tst. \
    220     $(WIN32KOBJ)\d32init.obj_tst. \
    221     $(WIN32KOBJ)\d16init.obj_tst_init. \
    222     $(WIN32KOBJ)\ProbKrnl.obj_tst_init. \
    223     $(WIN32KOBJ)\SymDB32.obj
    224 
    225 TSTLASTOBJ = $(LASTOBJ)
    226 
    227 TSTLASTLIB = $(WIN32KOBJ)\tstlastlib.lib
    228 
    229 TSTLIBS = $(LIBS)
    230 
    231 
    232 #
    233 # kKrnlLibtst.exe rule.
    234 #   This is a test executable; kKrnlLib.sys wrapped into an executable with emulation
    235 #   code for most of the OS/2 kernel dependencies.
    236 #
    237 $(TARGET)tst.exe: $(WIN32KBIN)\$(TARGET)tst.exe
    238     $(CP) $(WIN32KBIN)\$@ $@
    239 $(WIN32KBIN)\$(TARGET)tst.exe:  $(WIN32KBIN)\clfix.exe \
    240                                 $(WIN32KBIN)\ignore.exe \
    241                                 testcase\TstFakers.c \
    242                                 $(TARGET)tst.def \
    243                                 $(TSTOBJS:. = ) \
    244                                 $(TSTLIBS) \
    245                                 $(TSTLASTLIB) \
    246                                 $(WIN32KOBJ)\$(@B).lnk \
    247                                 Makefile makefile.inc ..\..\..\makefile.inc
    248     @$(CMDQD_WAIT)
    249     -@$(ECHO) linking: $@
    250     -4 $(WIN32KBIN)\ignore.exe -LNK4001 -LNK4031 $(LD) $(LFLAGS) @$(WIN32KOBJ)\$(@B).lnk
    251 
    252 # Linker file.
    253 $(WIN32KOBJ)\$(TARGET)tst.lnk: Makefile makefile.inc ..\..\..\makefile.inc
    254     echo Creating linkerfile: @<<$(WIN32KOBJ)\$(TARGET)tst.lnk
    255 /DEBUG
    256 /OUT:$(WIN32KBIN)\$(TARGET)tst.exe
    257 /MAP:$(WIN32KBIN)\$(TARGET)tst.map
    258 $(TSTOBJS:  =^
    259 )
    260 $(TSTLIBS:  =^
    261 )
    262 $(TSTLASTLIB)
    263 $(TARGET)tst.def
    264 <<KEEP
    265 
    266 # Last lib - needed to get LASTOBJ in after the importlibraries.
    267 $(TSTLASTLIB): $(TSTLASTOBJ)
    268     -@$(RM) $@ > nul 2> nul
    269     $(CMDQD_WAIT)
    270     $(ILIB) $@ $**;
    271 
    272 
    273 #
    274 #
    275 #   L i b r a r i e s
    276 #
    277 #
    278 
    279 #
    280 # kKrnlLib Import library.
    281 #
    282 $(TARGET).lib: $(ODIN32_LIB)\$(TARGET).lib
    283 $(ODIN32_LIB)\$(TARGET).lib: $(WIN32KBIN)\MkCallTab.exe
    284     $(WIN32KBIN)\MkCallTab.exe deffile > $(WIN32KOBJ)\$(TARGET)implib.def
    285     $(IMPLIB) $(IMPLIB_FLAGS) $@ $(WIN32KOBJ)\$(TARGET)implib.def
    286 
    287 
    288 #
    289 # R3 kKrnlLib.
    290 #
    291 $(TARGET)R3.lib: $(ODIN32_LIB)\$(TARGET)R3.lib
    292 $(ODIN32_LIB)\$(TARGET)R3.lib: .force
    293     $(DODIRS) "clib" $(MAKE_CMD) lib
    294 
    295 
    296 #
    297 # Libraries - segments are renamed for the 16-bit libraries.
    298 #
    299 
    300 # List of object files in the converted devhelp library.
    301 DHLPOBJS =  +$(WIN32KOBJ)\..\dhcall5b.obj +$(WIN32KOBJ)\..\dhcal11a.obj \
    302             +$(WIN32KOBJ)\..\dhcal11g.obj +$(WIN32KOBJ)\..\dhret.obj \
    303             +$(WIN32KOBJ)\..\dhcall2e.obj
    304 
    305 # Make corrected devhelp library with only the required object files.
    306 $(WIN32KOBJ)\devhelp.lib: $(DDKPATH)\lib\dhcalls.lib $(DHLPOBJS:+=)
    307     @$(RM) $@
    308     @cd $(WIN32KOBJ)
    309     $(DDKPATH)\tools\lib /nologo $@ $(DHLPOBJS);
    310     @cd $(MAKEDIR)
    311 
    312 # Convert devhelp library.
    313 devhelp_.lib: $(WIN32KOBJ)\..\devhelp_.lib
    314 $(WIN32KOBJ)\..\devhelp_.lib: $(WIN32KBIN)\libconv.exe $(DDKPATH)\lib\dhcalls.lib
    315     $** $@
    316 
    317 # Extract required object files from the converted devhelp library.
    318 $(DHLPOBJS:+=): $(WIN32KOBJ)\..\devhelp_.lib
    319     $(ILIB) $** *$@;
    320 
    321 
    322 # List of object files in the converted crt library.
    323 CLIBOBJS =  +$(WIN32KOBJ)\..\inp.obj       +$(WIN32KOBJ)\..\outp.obj \
    324             +$(WIN32KOBJ)\..\anfalmul.obj  +$(WIN32KOBJ)\..\anfaldiv.obj \
    325             +$(WIN32KOBJ)\..\anfalrem.obj  +$(WIN32KOBJ)\..\anfauldi.obj \
    326             +$(WIN32KOBJ)\..\anuldiv.obj   +$(WIN32KOBJ)\..\fmemcpy.obj \
    327             +$(WIN32KOBJ)\..\anulrem.obj   +$(WIN32KOBJ)\..\anlmul.obj \
    328             +$(WIN32KOBJ)\..\__AHINCR.obj  +$(WIN32KOBJ)\..\anlshl.obj
    329 
    330 # Make corrected crt library with only the required object files.
    331 $(WIN32KOBJ)\clib.lib: $(MSCPATH)\lib\clibcep.lib $(CLIBOBJS:+=)
    332     @$(RM) $@
    333     @cd $(WIN32KOBJ)
    334     $(DDKPATH)\tools\lib /nologo $@ @<<
    335 $(CLIBOBJS);
    336 <<
    337     @cd $(MAKEDIR)
    338 
    339 # Convert devhelp library.
    340 $(WIN32KOBJ)\..\clib_.lib: $(WIN32KBIN)\libconv.exe $(MSCPATH)\lib\clibcep.lib
    341     $** $@ > nul
    342 
    343 # Extract required object files from the converted crt library.
    344 $(CLIBOBJS:+=): $(WIN32KOBJ)\..\clib_.lib
    345     $(ILIB) $** *$@;
    346 
    347 
    348 #
    349 # Make last library.
    350 #
    351 $(WIN32KOBJ)\last.lib: $(WIN32KOBJ)\devlast.obj
    352     -@$(RM) $@ > nul 2> nul
    353     $(CMDQD_WAIT)
    354     $(ILIB) $@ $**;
    355 
    356 
    357 #
    358 #
    359 #   S o u r c e
    360 #
    361 #
    362 
    363 #
    364 # Generate calltaba.asm
    365 #
    366 dev32\calltaba.asm \
    367 $(WIN32KBASE)\dev32\calltaba.asm : dev16\probkrnl.c $(WIN32KBIN)\MkCallTab.exe
    368     $(WIN32KBIN)\MkCallTab.exe calltab > $@
    369 
    370 
    371 #
    372 # Generate TstFakers.c
    373 #
    374 testcase\TstFakers.c \
    375 $(WIN32KBASE)\testcase\TstFakers.c: $(WIN32KBIN)\MkCallTab.exe
    376     $(WIN32KBIN)\MkCallTab.exe tstfakers > $@
    377 
    378 
    379 #
    380 # Make assembly version of options.h; options.inc
    381 #
    382 $(WIN32KINCLUDE)\options.inc:  $(WIN32KINCLUDE)\options.h
    383     @$(ECHO) H2Inc: $**
    384     $(H2INC) $** > $@
    385 
    386 
    387 #
    388 #
    389 #   T o o l s
    390 #
    391 #
    392 
    393 #
    394 # Make the convert tool.
    395 #
    396 libconv.exe: $(WIN32KBIN)\libconv.exe
    397 $(WIN32KBIN)\libconv.exe: Tools\libconv.c
    398     icc -Q+ -Ti+ -Fe$@ -Fo$(WIN32KOBJ)\$(*B).obj $**
    399 
    400 
    401 #
    402 # Make the MkCallTab.exe utillity.
    403 #
    404 
    405 # MkCallTab objects.
    406 MKCALLTABOBJS = \
    407     $(WIN32KOBJ)\MkCallTab.obj_c \
    408     $(WIN32KOBJ)\probkrnl.obj_c \
    409     $(WIN32KOBJ)\d16globl.obj_c \
    410     $(WIN32KOBJ)\vprntf16.obj_c
    411 
    412 # Rule to build MkCallTab.exe
    413 MkCallTab.exe MkCallTab: $(WIN32KBIN)\MkCallTab.exe
    414 $(WIN32KBIN)\MkCallTab.exe: $(WIN32KBIN)\clfix.exe $(WIN32KBIN)\ignore.exe $(MKCALLTABOBJS)
    415     @$(CMDQD_WAIT)
    416     $(LD) $(LFLAGS) /pmtype:vio @<<$(WIN32KOBJ)\$(@B).lnk
    417         /OUT:$@
    418         /MAP:$(WIN32KBIN)\$(@B).map
    419         $(MKCALLTABOBJS)
    420         $(TOOLKIT)\lib\os2286.lib
    421         $(MSCPATH)\lib\clibcep.lib
    422 <<keep
    423 
    424 # Inference rule to make the MkCallTab objects.
    425 {dev16}.c.obj_c:
    426     @$(ECHO) compiling 16bit (MkCallTab): $<
    427     @$(CC16) -c -W3 -Asfw -G2s -Zp -Zl -nologo -Fa -Zi -Od -Lp -DDEBUG -DMKCALLTAB \
    428         -Fa$(WIN32KLIST)\$(*B)_c.s -Fo$(WIN32KOBJ)\$(@B).obj_c $(CINCLUDES16) $<
    429 
    430 
    431 #
    432 # Make the clfix.exe utillity - clfix.exe
    433 #   This should fix some of the problems we are experiencing with the
    434 #   MSC v6.0a compiler (cl.exe) (16-bit).
    435 #
    436 clfix.exe: $(WIN32KBIN)\clfix.exe
    437 $(WIN32KBIN)\clfix.exe: tools\clfix.c
    438     $(CC) -Fe$(WIN32KBIN)\$(@F) -Fo$(WIN32KBIN)\$(@B).obj $**
    439 
    440 
    441 #
    442 # Ignore utility used to ignore output from icc and linker.
    443 #
    444 ignore.exe: $(WIN32KBIN)\ignore.exe
    445 $(WIN32KBIN)\ignore.exe: tools\ignore.c
    446     icc -Q+ -Ti+ -Fe$@ -Fo$(WIN32KOBJ)\$(*B).obj $**
    447 
    448 
    449 
    450 #
    451 # Make the symbol extract utillity - Extract.exe
    452 #
    453 
    454 # Extract object files.
    455 EXTRACTOBJS = \
    456     $(WIN32KOBJ)\Extract.obj_e \
    457     $(WIN32KOBJ)\Extract32.obj_e \
    458     $(WIN32KOBJ)\krnlPrologs.obj_e \
    459     $(WIN32KOBJ)\ProbKrnl.obj_e \
    460     $(WIN32KOBJ)\d16Globl.obj_e \
    461     $(WIN32KOBJ)\vprntf16.obj_e
    462 
    463 # Rules to build Extract.exe.
    464 $(WIN32KBIN)\Extract.exe: $(WIN32KBIN)\clfix.exe $(WIN32KBIN)\ignore.exe $(EXTRACTOBJS) Extract.def Makefile
    465     $(CMDQD_WAIT)
    466     $(LD) $(LFLAGS) /pmtype:vio @<<$(WIN32KOBJ)\$(@B).lnk
    467         /OUT:$@
    468         /MAP:$(WIN32KBIN)\$(@B).map
    469         Extract.def
    470         $(EXTRACTOBJS)
    471         $(TOOLKIT)\lib\os2286.lib
    472         $(MSCPATH)\lib\clibcep.lib
    473         $(VACPATH)\lib\$(RTLLIB_NRE)
    474         $(DDKPATH)\lib\os2386.lib
    475 <<keep
    476 
    477 # Copy rule.
    478 Extract.exe: $(WIN32KBIN)\Extract.exe
    479     $(CP) $** $@
    480 
    481 # Inference rule to make the Extract objects.
    482 {dev16}.c.obj_e:
    483     @$(ECHO) compiling 16bit (extract): $<
    484     @$(CC16) -c -W3 -Asfw -G2s -Zp -Zl -nologo -Zi -Od -Lp -DDEBUG -DEXTRACT \
    485         -Fa$(WIN32KLIST)\$(*B)_e.s -Fo$(WIN32KOBJ)\$(@B).obj_e $(CINCLUDES16) $<
    486 
    487 {dev32}.c.obj_e:
    488 !ifndef MULTIJOBS
    489     @$(ECHO) compiling 32bit (extract): $<
    490     @$(CC) \
    491 !else
    492     $(CMDQD_SUB) $(CC) \
    493 !endif
    494         -c $(CFLAGS) -DLOGGING_DISABLED -Gr -Rn -Ti- -ndBIG_ $(CDEFINES) $(CINCLUDES) -Fa$(WIN32KLIST)\$(@B)_e.s \
    495         -Fo$(WIN32KOBJ)\$(@F) $<
    496 
    497 {krnl}.c.obj_e:
    498 !ifndef MULTIJOBS
    499     @$(ECHO) compiling 32bit (extract): $<
    500     @$(CC) \
    501 !else
    502     $(CMDQD_SUB) $(CC) \
    503 !endif
    504         -c $(CFLAGS) -DLOGGING_DISABLED -Gr -Rn -Ti- -ndBIG_ $(CDEFINES) $(CINCLUDES) -Fa$(WIN32KLIST)\$(@B)_e.s \
    505         -Fo$(WIN32KOBJ)\$(@F) $<
    506 
    507 
    508 #
    509 # Clean rule
    510 #
    511 clean:
    512     @$(ECHO) cleaning....
    513     $(RM) *.sys *.dll *.lib *.obj *.exe *.sym *.map *.pch *.err \
    514         $(ODIN32_BIN)\$(TARGET).sys \
    515         $(ODIN32_BIN)\$(TARGET).sym \
    516         $(ODIN32_BIN)\$(TARGET).ddp
    517 !if "$(WIN32KBIN)" != ""
    518     $(RM) $(WIN32KBIN)\* \
    519 !endif
    520 !if "$(WIN32KOBJ)" != ""
    521         $(WIN32KOBJ)\* \
    522 !endif
    523 !if "$(WIN32KLIST)" != ""
    524         $(WIN32KLIST)\* \
    525 !endif
    526 !if "$(WIN32KINCLUDE)" != ""
    527         $(WIN32KBIN)\options.inc
    528 !else
    529         .dummy.just.incase
    530 !endif
    531     $(DODIRS) "clib" $(MAKE_CMD) $@
    532 
    533 
    534 #
    535 # Dependencies - all deps are autogenereated.
    536 #
    537 dep:
    538     $(RM) .depend
    539     $(ODIN32_TOOLS)\fastdep @<<
    540         -f+ -o$$(WIN32KOBJ) $(CINCLUDES) -xdev32\calltaba.asm -xtestcase\TstFakers.c
    541         dev32\*.c* clib\*.c* krnl\*.c* testcase\*.c*
    542         -objobj_tst
    543         dev32\*.c* clib\*.c* krnl\*.c* testcase\*.c*
    544         $(WIN32KINCLUDE)\*.h
    545 <<
    546     $(ODIN32_TOOLS)\fastdep @<<
    547         -a+ -o$$(WIN32KOBJ) -I$(WIN32KINCLUDE) -I$(DDKPATH)\inc
    548         -xdev32\calltaba.asm -xtestcase\TstFakers.c
    549         dev16\*.asm dev32\*.asm clib\*.asm krnl\*.asm testcase\*.asm
    550         $(WIN32KINCLUDE)\*.inc
    551 <<
    552     $(ODIN32_TOOLS)\fastdep @<<
    553         -a+ -o$$(WIN32KOBJ) $(CINCLUDES16)
    554         dev16\*.c*
    555         -objobj_e           $(CINCLUDES16) dev16\*.c* dev32\*.c* krnl\*.c* clib\*.c*
    556         -objobj_c           $(CINCLUDES16) dev16\*.c* dev32\*.c* krnl\*.c* clib\*.c*
    557         -objobj_tst         $(CINCLUDES16) dev16\*.c* dev32\*.c* krnl\*.c* clib\*.c*
    558         -objobj_init        $(CINCLUDES16) dev16\*.c* dev32\*.c* krnl\*.c* clib\*.c*
    559         -objobj_tst_init    $(CINCLUDES16) dev16\*.c* dev32\*.c* krnl\*.c* clib\*.c*
    560 <<
    561     $(DODIRS) "clib" $(MAKE_CMD) $@
    562 
    563 
    564 #
    565 # Include the .depend file.
    566 #
    567 !if [$(EXISTS) .depend] == 0
    568 !   include .depend
    569 !else
    570 !   if [$(ECHO) .depend doesn't exist]
    571 !   endif
    572 !endif
    573 
    574 
    575 #
    576 # Generate Visual SlickEdit project file
    577 #
    578 kKrnlLib.vpj:
    579     ..\..\..\tools\vslick\genproject.cmd $@  $(CINCLUDES) -s -r
    580 
    581 #
    582 # Generate trace format file.
    583 #
    584 TRC00FD.TFF: $(WIN32KBIN)\TRC00FD.TFF
    585 $(WIN32KBIN)\TRC00FD.TFF:   $(WIN32KBASE)\tools\kLog.tsf
    586     cd $(WIN32KBIN)
    587     trcust $**
    588     cd $(MAKEDIR)
    589 
    590 # Copy rule.
    591 $(ODIN32_BIN)\TRC00FD.TFF: $(WIN32KBIN)\TRC00FD.TFF
    592     cp $** $@
    593 
    594 
    595 #
    596 # Force dummy rule.
    597 #
    598 .force:
    599     @$(ECHO) $@ > nul
    600 
Note: See TracChangeset for help on using the changeset viewer.