## @file # KERNEL32 library # SUB_DEPTH = ../.. include $(KBUILD_PATH)/subheader.kmk LIBRARIES += seh seh_TEMPLATE = OdinCxx seh_SOURCES = seh/sehutil.s $(call odin_implib_2,kernel32,vmutex) DLLS += kernel32 kernel32_TEMPLATE = OdinDLL kernel32_SOURCES = \ kernel32.cpp \ ccollection.cpp \ perfview.cpp \ kobjects.cpp \ console.cpp \ conin.cpp \ conbuffer.cpp \ conbuffervio.cpp \ conout.cpp \ network.cpp \ hmdevio.cpp \ profile.cpp \ thread.cpp \ virtual.cpp \ oslibmem.cpp \ thunk.cpp \ obsolete.cpp \ comm.cpp \ message.cpp \ resource.cpp \ exceptions.cpp \ heapshared.cpp \ cpuhlp.asm \ heapcode.cpp \ lfile.cpp \ npipe.cpp \ oslibdos.cpp \ char.cpp \ oslibmisc.cpp \ ole2nls.c \ dbglog.cpp \ exceptutil.asm \ asmutil.asm \ lang.cpp \ win32util.cpp \ heap.cpp \ heapstring.cpp \ os2heap.cpp \ vmutex.cpp \ initterm.cpp \ handlemanager.cpp \ handlenames.cpp \ environ.cpp \ initsystem.cpp \ hmdevice.cpp \ hmopen32.cpp \ hmobjects.cpp \ overlappedio.cpp \ hmevent.cpp \ hmfile.cpp \ hmmutex.cpp \ hmcomm.cpp \ hmparport.cpp \ hmnul.cpp \ hmsemaphore.cpp \ hmstd.cpp \ wprocess.cpp \ conprop.cpp \ conprop2.cpp \ winimagelx.cpp \ winimagebase.cpp \ windllbase.cpp \ winexebase.cpp \ time.cpp \ mmap.cpp \ mmapview.cpp \ mmapdup.cpp \ winimagepe2lx.cpp \ winimagepeldr.cpp \ windllpe2lx.cpp \ windlllx.cpp \ windllpeldr.cpp \ winexepe2lx.cpp \ winexelx.cpp \ winexepeldr.cpp \ winexedummy.cpp \ critsection.cpp \ fastinfoblocksa.asm \ fastinfoblocks.cpp \ pefile.cpp \ winimgres.cpp \ wintls.cpp \ async.cpp \ fileio.cpp \ hmtoken.cpp \ atom.cpp \ disk.cpp \ osliblvm.cpp \ directory.cpp \ hmmmap.cpp \ oslibexcept.cpp \ cpu.cpp \ process.cpp \ stubs.cpp \ dosdevice.cpp \ ordinals.cpp \ interlock.asm \ toolhelp.cpp \ codepage.c \ debug.cpp \ oslibdebug.cpp \ dbglocal.cpp \ registry.cpp \ queue.cpp \ hmthread.cpp \ oslibthread.cpp \ hmnpipe.cpp \ hmdisk.cpp \ oslibcdio.cpp \ version.cpp \ mmapnotify.cpp \ exceptstackdump.cpp \ module.cpp \ hmmailslot.cpp \ mailslot.cpp \ oslibtime.cpp \ kbdhook.cpp \ conodin32.cpp \ oslibwps.cpp \ _ras.cpp \ globaldata.asm \ kernelrsrc.orc kernel32_SOURCES.release += \ kernel32.def kernel32_SOURCES.debug += \ dbgwrap.cpp \ kernel32dbg.def # This overcomes current emxomfld limitation wrt SEGMENTS in .DEF kernel32_LDFLAGS = -Zlinker '"SEGMENT _GLOBALDATA LOADONCALL READWRITE SHARED"' ifndef CUSTOMBUILD kernel32_SOURCES += \ kdbhookhlp.cpp endif kernel32_LIBS = \ $(PATH_STAGE_LIB)/libwrap.lib \ $(PATH_STAGE_LIB)/wgss50.lib \ $(PATH_STAGE_LIB)/win32k.lib \ $(PATH_STAGE_LIB)/unicode.lib \ $(PATH_STAGE_LIB)/seh.lib \ $(PATH_STAGE_LIB)/ntdll.lib include $(FILE_KBUILD_SUB_FOOTER)