Some STDCALL/FASTCALL added in Ex code.

NTOSKRNL's makefile revised with redundant passes removed.

svn path=/trunk/; revision=1142
This commit is contained in:
Emanuele Aliberti 2000-05-01 14:15:03 +00:00
parent fdf480d262
commit 78a6c60acd
12 changed files with 544 additions and 269 deletions

View file

@ -41,7 +41,7 @@ FS_DRIVERS = vfat minix
KERNEL_SERVICES = $(DEVICE_DRIVERS) $(FS_DRIVERS)
APPS = args hello shell test cat bench apc shm lpc thread event file gditest \
pteb
pteb objdir
all: buildno $(COMPONENTS) $(DLLS) $(SUBSYS) $(LOADERS) $(KERNEL_SERVICES) $(APPS)

View file

@ -1,4 +1,4 @@
/* $Id: shell.c,v 1.37 2000/04/23 17:49:07 phreak Exp $
/* $Id: shell.c,v 1.38 2000/05/01 14:15:01 ea Exp $
*
* PROJECT : ReactOS Operating System
* DESCRIPTION: ReactOS' Native Shell
@ -251,22 +251,20 @@ ExecuteKill(char * lpPid)
void ExecuteHelp (void * dummy)
{
debug_printf (
"A:\t\t\tCurrent drive is A:\n"
"C:\t\t\tCurrent drive is C:\n"
"cd [directory]\t\tChange current directory\n"
"dir [directory]\t\tList directory\n"
"exit\t\t\tTerminate the shell\n"
"help\t\t\tPrint this help message\n"
"kill [pid]\t\tKill process which PID is pid\n"
"md [directory]\t\tCreate a new directory\n"
"reboot\t\t\tRestart the system\n"
"start [program.exe]\tDetach program.exe\n"
"type [file]\t\tPrint the file on console\n"
"validate\t\tValidate the process' heap\n"
"ver\t\t\tPrint version information\n"
"[program.exe]\t\tStart synchronously program.exe\n\n"
);
debug_printf ("A:\t\t\tCurrent drive is A:\n");
debug_printf ("C:\t\t\tCurrent drive is C:\n");
debug_printf ("cd [directory]\t\tChange current directory\n");
debug_printf ("dir [directory]\t\tList directory\n");
debug_printf ("exit\t\t\tTerminate the shell\n");
debug_printf ("help\t\t\tPrint this help message\n");
debug_printf ("kill [pid]\t\tKill process which PID is pid\n");
debug_printf ("md [directory]\t\tCreate a new directory\n");
debug_printf ("reboot\t\t\tRestart the system\n");
debug_printf ("start [program.exe]\tDetach program.exe\n");
debug_printf ("type [file]\t\tPrint the file on console\n");
debug_printf ("validate\t\tValidate the process' heap\n");
debug_printf ("ver\t\t\tPrint version information\n");
debug_printf ("[program.exe]\t\tStart synchronously program.exe\n\n");
}
void ExecuteCommand(char* line)

View file

@ -8,10 +8,12 @@ ExReleaseResourceLite (
PERESOURCE Resource
);
VOID
FASTCALL
ExAcquireFastMutex (
PFAST_MUTEX FastMutex
);
VOID
FASTCALL
ExAcquireFastMutexUnsafe (
PFAST_MUTEX FastMutex
);
@ -151,10 +153,13 @@ ULONG
ExGetSharedWaiterCount (
PERESOURCE Resource
);
/* ReactOS Specific: begin */
VOID
FASTCALL
ExInitializeFastMutex (
PFAST_MUTEX FastMutex
);
/* ReactOS Specific: end */
VOID
ExInitializeNPagedLookasideList (
PNPAGED_LOOKASIDE_LIST Lookaside,
@ -265,11 +270,15 @@ VOID
ExReinitializeResourceLite (
PERESOURCE Resource
);
/* ReactOS Specific: begin */
VOID
FASTCALL
ExReleaseFastMutex (
PFAST_MUTEX Mutex
);
/* ReactOS Specific: end */
VOID
FASTCALL
ExReleaseFastMutexUnsafe (
PFAST_MUTEX Mutex
);
@ -293,6 +302,7 @@ ExSystemTimeToLocalTime (
PLARGE_INTEGER LocalTime
);
BOOLEAN
FASTCALL
ExTryToAcquireFastMutex (
PFAST_MUTEX FastMutex
);

View file

@ -1,3 +1,6 @@
#ifndef _INCLUDE_DDK_OBTYPES_H
#define _INCLUDE_DDK_OBTYPES_H
/* $Id: obtypes.h,v 1.7 2000/05/01 14:15:01 ea Exp $ */
struct _DIRECTORY_OBJECT;
struct _OBJECT_ATTRIBUTES;
@ -146,3 +149,32 @@ typedef struct _HANDLE_TABLE
} HANDLE_TABLE, *PHANDLE_TABLE;
extern POBJECT_TYPE ObDirectoryType;
#if 0
#define OBJECT_TYPE_0 0
#define OBJECT_TYPE_1 1
#define OBJECT_TYPE_DIRECTORY 2
#define OBJECT_TYPE_SYMBOLICLINK 3
#define OBJECT_TYPE_TOKEN 4
#define OBJECT_TYPE_PROCESS 5
#define OBJECT_TYPE_THREAD 6
#define OBJECT_TYPE_EVENT 7
#define OBJECT_TYPE_8 8
#define OBJECT_TYPE_MUTANT 9
#define OBJECT_TYPE_SEMAPHORE 10
#define OBJECT_TYPE_TIMER 11
#define OBJECT_TYPE_12 12
#define OBJECT_TYPE_WINDOWSTATION 13
#define OBJECT_TYPE_DESKTOP 14
#define OBJECT_TYPE_SECTION 15
#define OBJECT_TYPE_KEY 16
#define OBJECT_TYPE_PORT 17
#define OBJECT_TYPE_18 18
#define OBJECT_TYPE_19 19
#define OBJECT_TYPE_20 20
#define OBJECT_TYPE_21 21
#define OBJECT_TYPE_IOCOMPLETION 22
#define OBJECT_TYPE_FILE 23
#endif
#endif /* ndef _INCLUDE_DDK_OBTYPES_H */

View file

@ -428,32 +428,7 @@ struct _SYSTEM_RESOURCE_LOCK_INFO
// UNKNOWN
// SystemHandleInformation (16)
#if 0
#define OBJECT_TYPE_0 0
#define OBJECT_TYPE_1 1
#define OBJECT_TYPE_OBJDIRECTORY 2
#define OBJECT_TYPE_SYMLINK 3
#define OBJECT_TYPE_TOKEN 4
#define OBJECT_TYPE_PROCESS 5
#define OBJECT_TYPE_THREAD 6
#define OBJECT_TYPE_EVENT 7
#define OBJECT_TYPE_8 8
#define OBJECT_TYPE_MUTANT 9
#define OBJECT_TYPE_SEMAPHORE 10
#define OBJECT_TYPE_TIMER 11
#define OBJECT_TYPE_12 12
#define OBJECT_TYPE_WINSTATION 13
#define OBJECT_TYPE_DESKTOP 14
#define OBJECT_TYPE_SECTION 15
#define OBJECT_TYPE_KEY 16
#define OBJECT_TYPE_PORT 17
#define OBJECT_TYPE_18 18
#define OBJECT_TYPE_19 19
#define OBJECT_TYPE_20 20
#define OBJECT_TYPE_21 21
#define OBJECT_TYPE_IOCOMPLETION 22
#define OBJECT_TYPE_FILE 23
#endif
// (see ontypes.h)
typedef
struct _SYSTEM_HANDLE_ENTRY
{

View file

@ -17,9 +17,9 @@
; DISCLAMED. This includes but is not limited to warrenties of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
;
; $Revision: 1.12 $
; $Author: ariadne $
; $Date: 1999/05/24 15:22:43 $
; $Revision: 1.13 $
; $Author: ea $
; $Date: 2000/05/01 14:15:01 $
;
; These three functions appear to be name mangled in some way, so GCC is
; probably not going to be able to use them in any case.
@ -35,6 +35,7 @@
; _set_new_handler__FPFUi_i
;
;
LIBRARY CRTDLL.DLL
EXPORTS
__builtin_new
__builtin_delete

View file

@ -1,4 +1,5 @@
/*
/* $Id: fmutex.c,v 1.5 2000/05/01 14:15:02 ea Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/ex/fmutex.c
@ -16,13 +17,14 @@
/* FUNCTIONS *****************************************************************/
VOID ExAcquireFastMutex(PFAST_MUTEX FastMutex)
/* FIXME: in HAL */
VOID FASTCALL EXPORTED ExAcquireFastMutex(PFAST_MUTEX FastMutex)
{
KeEnterCriticalRegion();
ExAcquireFastMutexUnsafe(FastMutex);
}
VOID ExAcquireFastMutexUnsafe(PFAST_MUTEX FastMutex)
VOID FASTCALL EXPORTED ExAcquireFastMutexUnsafe(PFAST_MUTEX FastMutex)
{
if (InterlockedDecrement(&(FastMutex->Count))==0)
{
@ -37,7 +39,8 @@ VOID ExAcquireFastMutexUnsafe(PFAST_MUTEX FastMutex)
FastMutex->Owner=KeGetCurrentThread();
}
VOID ExInitializeFastMutex(PFAST_MUTEX FastMutex)
/* FIXME: convert it into a macro */
VOID FASTCALL ExInitializeFastMutex(PFAST_MUTEX FastMutex)
{
FastMutex->Count=1;
FastMutex->Owner=NULL;
@ -47,7 +50,7 @@ VOID ExInitializeFastMutex(PFAST_MUTEX FastMutex)
FALSE);
}
VOID ExReleaseFastMutexUnsafe(PFAST_MUTEX FastMutex)
VOID FASTCALL EXPORTED ExReleaseFastMutexUnsafe(PFAST_MUTEX FastMutex)
{
assert(FastMutex->Owner == KeGetCurrentThread());
FastMutex->Owner=NULL;
@ -58,16 +61,19 @@ VOID ExReleaseFastMutexUnsafe(PFAST_MUTEX FastMutex)
KeSetEvent(&(FastMutex->Event),0,FALSE);
}
VOID ExReleaseFastMutex(PFAST_MUTEX FastMutex)
/* FIXME: in HAL */
VOID FASTCALL EXPORTED ExReleaseFastMutex(PFAST_MUTEX FastMutex)
{
ExReleaseFastMutexUnsafe(FastMutex);
KeLeaveCriticalRegion();
}
BOOLEAN ExTryToAcquireFastMutex(PFAST_MUTEX FastMutex)
/* FIXME: in HAL */
BOOLEAN FASTCALL EXPORTED ExTryToAcquireFastMutex(PFAST_MUTEX FastMutex)
{
UNIMPLEMENTED;
}
/* EOF */

View file

@ -1,9 +1,26 @@
HAL_OBJECTS = hal/x86/irq.o hal/x86/isa.o \
hal/x86/pci.o hal/x86/irqhand.o hal/x86/halinit.o \
hal/x86/irql.o hal/x86/bios32.o \
hal/x86/mp.o hal/x86/dma.o hal/x86/bus.o hal/x86/mbr.o \
hal/x86/sysinfo.o hal/x86/time.o hal/x86/beep.o \
hal/x86/display.o hal/x86/reboot.o hal/x86/kdbg.o \
hal/x86/portio.o hal/x86/misc.o hal/x86/parttab.o \
hal/x86/adapter.o hal/x86/drive.o hal/x86/udelay.o \
hal/x86/sysbus.o
OBJECTS_HAL = \
hal/x86/adapter.o \
hal/x86/beep.o \
hal/x86/bios32.o \
hal/x86/bus.o \
hal/x86/display.o \
hal/x86/dma.o \
hal/x86/drive.o \
hal/x86/halinit.o \
hal/x86/irq.o \
hal/x86/irqhand.o \
hal/x86/isa.o \
hal/x86/irql.o \
hal/x86/kdbg.o \
hal/x86/mbr.o \
hal/x86/misc.o \
hal/x86/mp.o \
hal/x86/parttab.o \
hal/x86/pci.o \
hal/x86/portio.o \
hal/x86/reboot.o \
hal/x86/sysbus.o \
hal/x86/sysinfo.o \
hal/x86/time.o \
hal/x86/udelay.o

View file

@ -1,185 +1,420 @@
# $Id: makefile_rex,v 1.68 2000/04/08 19:08:05 ekohl Exp $
# $Id: makefile_rex,v 1.69 2000/05/01 14:15:02 ea Exp $
#
# ReactOS Operating System
#
TARGET=ntoskrnl
TARGETNAME = ntoskrnl
OBJECTS_PATH = objects
BASE_CFLAGS = -I../include -D__NTOSKRNL__
all: objects $(TARGET).exe $(TARGET).nostrip.exe
all: \
$(OBJECTS_PATH) \
$(TARGETNAME).nostrip.exe \
$(TARGETNAME).exe
#
# Defines $(HAL_OBJECTS)
# Hardware Abstraction Layer (Hal)
# Defines $(OBJECTS_HAL)
#
include hal/x86/sources
NT_OBJECTS = nt/port.o nt/channel.o nt/ntevent.o nt/nttimer.o nt/atom.o \
nt/evtpair.o nt/ntsem.o nt/mutant.o nt/misc.o nt/plugplay.o \
nt/profile.o nt/nt.o nt/zw.o
# System API (Nt/Zw)
OBJECTS_NT = \
nt/atom.o \
nt/channel.o \
nt/evtpair.o \
nt/mutant.o \
nt/misc.o \
nt/nt.o \
nt/ntevent.o \
nt/ntsem.o \
nt/nttimer.o \
nt/plugplay.o \
nt/port.o \
nt/profile.o \
nt/zw.o
RTL_OBJECTS = rtl/ctype.o rtl/interlck.o rtl/largeint.o rtl/list.o \
rtl/lookas.o rtl/mem.o rtl/memchr.o rtl/memcpy.o \
rtl/memmove.o rtl/memset.o rtl/nls.o rtl/regio.o \
rtl/return.o rtl/slist.o rtl/sprintf.o rtl/swprintf.o \
rtl/stdlib.o rtl/string.o rtl/time.o rtl/unalign.o \
rtl/unicode.o rtl/wstring.o rtl/bitmap.o rtl/qsort.o
# Run-Time Library (Rtl)
OBJECTS_RTL = \
rtl/bitmap.o \
rtl/ctype.o \
rtl/interlck.o \
rtl/largeint.o \
rtl/list.o \
rtl/lookas.o \
rtl/mem.o \
rtl/memchr.o \
rtl/memcpy.o \
rtl/memmove.o \
rtl/memset.o \
rtl/nls.o \
rtl/qsort.o \
rtl/regio.o \
rtl/return.o \
rtl/slist.o \
rtl/sprintf.o \
rtl/stdlib.o \
rtl/string.o \
rtl/swprintf.o \
rtl/time.o \
rtl/unalign.o \
rtl/unicode.o \
rtl/wstring.o
KE_OBJECTS = ke/head.o ke/main.o ke/timer.o ke/error.o ke/catch.o \
ke/dpc.o ke/wait.o ke/kqueue.o ke/dispatch.o \
ke/sem.o ke/critical.o ke/event.o ke/apc.o ke/bug.o \
ke/mutex.o ke/kernel.o ke/ldt.o ke/spinlock.o\
ke/process.o ke/gdt.o ke/idt.o
# Kernel (Ke)
OBJECTS_KE = \
ke/apc.o \
ke/bug.o \
ke/catch.o \
ke/critical.o \
ke/dispatch.o \
ke/dpc.o \
ke/error.o \
ke/event.o \
ke/gdt.o \
ke/head.o \
ke/idt.o \
ke/kernel.o \
ke/kqueue.o \
ke/ldt.o \
ke/main.o \
ke/mutex.o \
ke/process.o \
ke/sem.o \
ke/spinlock.o \
ke/timer.o \
ke/wait.o
KE_I386_OBJECTS = ke/i386/thread.o ke/i386/usercall.o ke/i386/exp.o
OBJECTS_KE_I386 = \
ke/i386/exp.o \
ke/i386/thread.o \
ke/i386/usercall.o
MM_OBJECTS = mm/mm.o mm/freelist.o mm/pool.o mm/virtual.o \
mm/mdl.o mm/zone.o mm/paging.o mm/section.o \
mm/marea.o mm/ppool.o mm/npool.o mm/pagefile.o \
mm/cont.o mm/iospace.o mm/ncache.o mm/aspace.o \
mm/pagfault.o
# Memory Manager (Mm)
OBJECTS_MM = \
mm/aspace.o \
mm/cont.o \
mm/freelist.o \
mm/iospace.o \
mm/marea.o \
mm/mdl.o \
mm/mm.o \
mm/ncache.o \
mm/npool.o \
mm/pagfault.o \
mm/pagefile.o \
mm/paging.o \
mm/pool.o \
mm/ppool.o \
mm/section.o \
mm/virtual.o \
mm/zone.o
OBJECTS_MM_I386 = \
mm/i386/memsafe.o \
mm/i386/page.o \
mm/i386/pfault.o
# I/O Subsystem (Io)
OBJECTS_IO = \
io/adapter.o \
io/arc.o \
io/buildirp.o \
io/cancel.o \
io/cleanup.o \
io/cntrller.o \
io/create.o \
io/device.o \
io/dir.o \
io/dpc.o \
io/drvlck.o \
io/errlog.o \
io/error.o \
io/event.o \
io/file.o \
io/flush.o \
io/fs.o \
io/iocomp.o \
io/ioctrl.o \
io/iomgr.o \
io/irp.o \
io/lock.o \
io/mailslot.o \
io/mdl.o \
io/npipe.o \
io/page.o \
io/process.o \
io/queue.o \
io/resource.o \
io/rw.o \
io/share.o \
io/shutdown.o \
io/symlink.o \
io/timer.o \
io/vpb.o
# Object Manager (Ob)
OBJECTS_OB = \
ob/dirobj.o \
ob/handle.o \
ob/namespc.o \
ob/ntobj.o \
ob/object.o \
ob/security.o
# Process Manager (Ps)
OBJECTS_PS = \
ps/create.o \
ps/idle.o \
ps/kill.o \
ps/process.o \
ps/psmgr.o \
ps/thread.o \
ps/tinfo.o
# Executive Subsystem (Ex)
OBJECTS_EX = \
ex/callback.o \
ex/fmutex.o \
ex/init.o \
ex/interlck.o \
ex/locale.o \
ex/napi.o \
ex/power.o \
ex/resource.o \
ex/time.o \
ex/stamp.o \
ex/sysinfo.o \
ex/work.o
# Installable File System Run-Time Library (FsRtl)
OBJECTS_FS = \
fs/dbcsname.o \
fs/filelock.o \
fs/mcb.o \
fs/mdl.o \
fs/name.o \
fs/notify.o \
fs/oplock.o \
fs/pool.o \
fs/tunnel.o \
fs/unc.o \
fs/util.o
# Security Subsystem
OBJECTS_SE = \
se/access.o \
se/acl.o \
se/luid.o \
se/priv.o \
se/sd.o \
se/semgr.o \
se/sid.o \
se/token.o
# Configuration Manager (Registry)
OBJECTS_CM = \
cm/registry.o
# Debugger Support (Dbg)
OBJECTS_DBG = \
dbg/brkpoint.o \
dbg/errinfo.o \
dbg/print.o
# Loader
OBJECTS_LDR = \
ldr/init.o \
ldr/loader.o \
ldr/rtl.o \
ldr/syspath.o \
ldr/sysdll.o \
ldr/userldr.o
# Nation Language Support Library (Nls)
OBJECTS_NLS = nls/nls.o
# Power Management (Po)
OBJECTS_PO = po/power.o
# Cache Manager (Cc)
OBJECTS_CC = \
cc/cacheman.o \
cc/view.o
# Kernel Debugger Support (Kd)
OBJECTS_KD = \
kd/kdebug.o \
kd/service.o
# Resources
OBJECTS_RESOURCE = \
$(TARGETNAME).coff
# IMPORTS/EXPORTS
IE_DATA = \
$(TARGETNAME).def \
$(TARGETNAME).edf
$(OBJECTS_PATH):
mkdir $(OBJECTS_PATH)
#
# Build subsystem intermediate objects
#
$(OBJECTS_PATH)/hal.o: $(OBJECTS_HAL)
$(LD) \
-r \
-o $(OBJECTS_PATH)/hal.o \
$(OBJECTS_HAL)
$(OBJECTS_PATH)/io.o: $(OBJECTS_IO)
$(LD) \
-r \
-o $(OBJECTS_PATH)/io.o \
$(OBJECTS_IO)
$(OBJECTS_PATH)/ke.o: $(OBJECTS_KE) $(OBJECTS_KE_I386)
$(LD) \
-r \
-o $(OBJECTS_PATH)/ke.o \
$(OBJECTS_KE) \
$(OBJECTS_KE_I386)
$(OBJECTS_PATH)/rtl.o: $(OBJECTS_RTL)
$(LD) \
-r \
-o $(OBJECTS_PATH)/rtl.o \
$(OBJECTS_RTL)
$(OBJECTS_PATH)/mm.o: $(OBJECTS_MM) $(OBJECTS_MM_I386)
$(LD) \
-r \
-o $(OBJECTS_PATH)/mm.o \
$(OBJECTS_MM) \
$(OBJECTS_MM_I386)
$(OBJECTS_PATH)/ob.o: $(OBJECTS_OB)
$(LD) \
-r \
-o $(OBJECTS_PATH)/ob.o \
$(OBJECTS_OB)
$(OBJECTS_PATH)/ps.o: $(OBJECTS_PS)
$(LD) \
-r \
-o $(OBJECTS_PATH)/ps.o \
$(OBJECTS_PS)
$(OBJECTS_PATH)/ex.o: $(OBJECTS_EX)
$(LD) \
-r \
-o $(OBJECTS_PATH)/ex.o \
$(OBJECTS_EX)
$(OBJECTS_PATH)/fs.o: $(OBJECTS_FS)
$(LD) \
-r \
-o $(OBJECTS_PATH)/fs.o \
$(OBJECTS_FS)
$(OBJECTS_PATH)/se.o: $(OBJECTS_SE)
$(LD) \
-r \
-o $(OBJECTS_PATH)/se.o \
$(OBJECTS_SE)
$(OBJECTS_PATH)/cm.o: $(OBJECTS_CM)
$(LD) \
-r \
-o $(OBJECTS_PATH)/cm.o \
$(OBJECTS_CM)
$(OBJECTS_PATH)/dbg.o: $(OBJECTS_DBG)
$(LD) \
-r \
-o $(OBJECTS_PATH)/dbg.o \
$(OBJECTS_DBG)
$(OBJECTS_PATH)/ldr.o: $(OBJECTS_LDR)
$(LD) \
-r \
-o $(OBJECTS_PATH)/ldr.o \
$(OBJECTS_LDR)
$(OBJECTS_PATH)/nls.o: $(OBJECTS_NLS)
$(LD) \
-r \
-o $(OBJECTS_PATH)/nls.o \
$(OBJECTS_NLS)
$(OBJECTS_PATH)/nt.o: $(OBJECTS_NT)
$(LD) \
-r \
-o $(OBJECTS_PATH)/nt.o \
$(OBJECTS_NT)
$(OBJECTS_PATH)/po.o: $(OBJECTS_PO)
$(LD) \
-r \
-o $(OBJECTS_PATH)/po.o \
$(OBJECTS_PO)
$(OBJECTS_PATH)/cc.o: $(OBJECTS_CC)
$(LD) \
-r \
-o $(OBJECTS_PATH)/cc.o \
$(OBJECTS_CC)
$(OBJECTS_PATH)/kd.o: $(OBJECTS_KD)
$(LD) \
-r \
-o $(OBJECTS_PATH)/kd.o \
$(OBJECTS_KD)
$(TARGETNAME).coff: $(TARGETNAME).rc ../include/reactos/resource.h
MM_I386_OBJECTS = mm/i386/page.o mm/i386/memsafe.o mm/i386/pfault.o
IO_OBJECTS = io/iomgr.o io/create.o io/irp.o io/device.o io/rw.o \
io/queue.o io/drvlck.o io/timer.o io/share.o io/errlog.o \
io/shutdown.o io/cancel.o io/error.o io/arc.o \
io/dpc.o io/symlink.o io/adapter.o io/cntrller.o io/mdl.o \
io/resource.o io/event.o io/process.o io/file.o io/ioctrl.o \
io/fs.o io/vpb.o io/buildirp.o io/flush.o io/dir.o io/iocomp.o \
io/mailslot.o io/npipe.o io/lock.o io/page.o io/cleanup.o
OB_OBJECTS = ob/object.o ob/handle.o ob/namespc.o ob/ntobj.o ob/dirobj.o \
ob/security.o
PS_OBJECTS = ps/psmgr.o ps/thread.o ps/process.o ps/idle.o ps/kill.o \
ps/tinfo.o ps/create.o
EX_OBJECTS = ex/work.o ex/fmutex.o ex/resource.o ex/time.o ex/interlck.o \
ex/callback.o ex/napi.o ex/power.o ex/sysinfo.o ex/locale.o \
ex/stamp.o ex/init.o
FS_OBJECTS = fs/dbcsname.o fs/name.o fs/mcb.o fs/unc.o fs/util.o \
fs/filelock.o fs/pool.o fs/mdl.o fs/oplock.o fs/tunnel.o \
fs/notify.o
SE_OBJECTS = se/semgr.o se/acl.o se/sid.o se/sd.o se/token.o se/luid.o \
se/priv.o se/access.o
CM_OBJECTS = cm/registry.o
DBG_OBJECTS = dbg/brkpoint.o dbg/errinfo.o dbg/print.o
LDR_OBJECTS = ldr/loader.o ldr/init.o ldr/syspath.o ldr/sysdll.o ldr/rtl.o \
ldr/userldr.o
NLS_OBJECTS = nls/nls.o
PO_OBJECTS = po/power.o
CC_OBJECTS = cc/cacheman.o cc/view.o
KD_OBJECTS = kd/kdebug.o kd/service.o
RESOURCE_OBJECT = $(TARGET).coff
objects:
mkdir objects
objects/hal.o: $(HAL_OBJECTS)
$(LD) -r $(HAL_OBJECTS) -o objects/hal.o
objects/io.o: $(IO_OBJECTS)
$(LD) -r $(IO_OBJECTS) -o objects/io.o
objects/ke.o: $(KE_OBJECTS) $(KE_I386_OBJECTS)
$(LD) -r $(KE_OBJECTS) $(KE_I386_OBJECTS) -o objects/ke.o
objects/rtl.o: $(RTL_OBJECTS)
$(LD) -r $(RTL_OBJECTS) -o objects/rtl.o
objects/mm.o: $(MM_OBJECTS) $(MM_I386_OBJECTS)
$(LD) -r $(MM_OBJECTS) $(MM_I386_OBJECTS) -o objects/mm.o
objects/ob.o: $(OB_OBJECTS)
$(LD) -r $(OB_OBJECTS) -o objects/ob.o
objects/ps.o: $(PS_OBJECTS)
$(LD) -r $(PS_OBJECTS) -o objects/ps.o
objects/ex.o: $(EX_OBJECTS)
$(LD) -r $(EX_OBJECTS) -o objects/ex.o
objects/fs.o: $(FS_OBJECTS)
$(LD) -r $(FS_OBJECTS) -o objects/fs.o
objects/se.o: $(SE_OBJECTS)
$(LD) -r $(SE_OBJECTS) -o objects/se.o
objects/cm.o: $(CM_OBJECTS)
$(LD) -r $(CM_OBJECTS) -o objects/cm.o
objects/dbg.o: $(DBG_OBJECTS)
$(LD) -r $(DBG_OBJECTS) -o objects/dbg.o
objects/ldr.o: $(LDR_OBJECTS)
$(LD) -r $(LDR_OBJECTS) -o objects/ldr.o
objects/nls.o: $(NLS_OBJECTS)
$(LD) -r $(NLS_OBJECTS) -o objects/nls.o
objects/nt.o: $(NT_OBJECTS)
$(LD) -r $(NT_OBJECTS) -o objects/nt.o
objects/po.o: $(PO_OBJECTS)
$(LD) -r $(PO_OBJECTS) -o objects/po.o
objects/cc.o: $(CC_OBJECTS)
$(LD) -r $(CC_OBJECTS) -o objects/cc.o
objects/kd.o: $(KD_OBJECTS)
$(LD) -r $(KD_OBJECTS) -o objects/kd.o
$(TARGET).coff: $(TARGET).rc ../include/reactos/resource.h
OBJECTS = objects/ke.o objects/rtl.o objects/mm.o \
objects/io.o objects/ob.o objects/ps.o objects/ex.o \
objects/se.o objects/cm.o objects/dbg.o objects/nt.o \
objects/cc.o objects/kd.o objects/ldr.o objects/fs.o \
objects/po.o objects/nls.o \
objects/hal.o \
$(TARGET).coff
OBJECTS = \
$(OBJECTS_PATH)/hal.o \
$(OBJECTS_PATH)/cc.o \
$(OBJECTS_PATH)/cm.o \
$(OBJECTS_PATH)/dbg.o \
$(OBJECTS_PATH)/ex.o \
$(OBJECTS_PATH)/fs.o \
$(OBJECTS_PATH)/io.o \
$(OBJECTS_PATH)/kd.o \
$(OBJECTS_PATH)/ke.o \
$(OBJECTS_PATH)/ldr.o \
$(OBJECTS_PATH)/mm.o \
$(OBJECTS_PATH)/nls.o \
$(OBJECTS_PATH)/nt.o \
$(OBJECTS_PATH)/ob.o \
$(OBJECTS_PATH)/po.o \
$(OBJECTS_PATH)/ps.o \
$(OBJECTS_PATH)/rtl.o \
$(OBJECTS_PATH)/se.o \
$(OBJECTS_RESOURCE)
ifeq ($(DOSCLI),yes)
CLEAN_FILES = objects\*.o cc\*.o cm\*.o dbg\*.o ex\*.o hal\x86\*.o io\*.o \
CLEAN_FILES = $(OBJECTS_PATH)\*.o cc\*.o cm\*.o dbg\*.o ex\*.o hal\x86\*.o io\*.o \
ke\*.o ldr\*.o mm\*.o nt\*.o ob\*.o ps\*.o rtl\*.o se\*.o \
ke\i386\*.o mm\i386\*.o fs\*.o po\*.o nls\*.o \
kd\*.o utils\export\export.exe $(TARGET).o $(TARGET).a junk.tmp \
base.tmp temp.exp $(TARGET).exe $(TARGET).sym $(TARGET).coff
kd\*.o utils\export\export.exe $(TARGETNAME).o $(TARGETNAME).a junk.tmp \
base.tmp temp.exp $(TARGETNAME).exe $(TARGETNAME).sym $(TARGETNAME).coff
else
CLEAN_FILES = objects/*.o cc/*.o cm/*.o dbg/*.o ex/*.o hal/x86/*.o io/*.o \
CLEAN_FILES = $(OBJECTS_PATH)/*.o cc/*.o cm/*.o dbg/*.o ex/*.o hal/x86/*.o io/*.o \
ke/*.o ldr/*.o mm/*.o nt/*.o ob/*.o ps/*.o rtl/*.o se/*.o \
ke/i386/*.o mm/i386/*.o fs/*.o po/*.o nls/*.o \
kd/*.o utils/export/export $(TARGET).o $(TARGET).a junk.tmp \
base.tmp temp.exp $(TARGET).exe $(TARGET).sym $(TARGET).coff
kd/*.o utils/export/export $(TARGETNAME).o $(TARGETNAME).a junk.tmp \
base.tmp temp.exp $(TARGETNAME).exe $(TARGETNAME).sym $(TARGETNAME).coff
endif
$(TARGET).nostrip.exe: $(OBJECTS) $(TARGET).def
$(LD) \
-r $(OBJECTS) \
-o $(TARGET).o
$(DLLTOOL) \
--dllname $(TARGET).exe \
--def $(TARGET).def \
--kill-at \
--output-lib $(TARGET).a
$(TARGETNAME).nostrip.exe: $(TARGETNAME).o $(TARGETNAME).a $(IE_DATA)
$(CC) \
$(TARGET).o \
-Wl,-d -specs=../specs \
-mdll \
-o junk.tmp \
@ -189,41 +424,35 @@ $(TARGET).nostrip.exe: $(OBJECTS) $(TARGET).def
-Wl,--defsym,_edata=__data_end__ \
-Wl,--defsym,_end=__bss_end__ \
-Wl,--defsym,_etext=etext \
-Wl,--base-file,base.tmp
-Wl,--base-file,base.tmp \
$(TARGETNAME).o
- $(RM) junk.tmp
$(DLLTOOL) \
--dllname $(TARGET).exe \
--dllname $(TARGETNAME).exe \
--base-file base.tmp \
--output-exp temp.exp \
--def $(TARGET).edf \
--def $(TARGETNAME).edf \
--kill-at
- $(RM) base.tmp
$(CC) \
$(TARGET).o \
-Wl,-d -specs=../specs \
-mdll \
-o $(TARGET).nostrip.exe \
-o $(TARGETNAME).nostrip.exe \
-Wl,--image-base,0xc0000000 \
-Wl,--file-alignment,0x1000 \
-Wl,--section-alignment,0x1000 \
-Wl,--defsym,_end=__bss_end__ \
-Wl,--defsym,_edata=__data_end__ \
-Wl,--defsym,_etext=etext \
-Wl,temp.exp
-Wl,temp.exp \
$(TARGETNAME).o
- $(RM) temp.exp
$(TARGET).exe: $(OBJECTS) $(TARGET).def
$(LD) \
-r $(OBJECTS) \
-o $(TARGET).o
$(STRIP) --strip-debug $(TARGET).o
$(DLLTOOL) \
--dllname $(TARGET).exe \
--def $(TARGET).def \
--kill-at \
--output-lib $(TARGET).a
$(TARGETNAME).exe: $(TARGETNAME).o $(TARGETNAME).a
$(STRIP) \
--strip-debug \
$(TARGETNAME).o
$(CC) \
$(TARGET).o \
-Wl,-d -specs=../specs \
-mdll \
-o junk.tmp \
@ -233,41 +462,44 @@ $(TARGET).exe: $(OBJECTS) $(TARGET).def
-Wl,--defsym,_edata=__data_end__ \
-Wl,--defsym,_end=__bss_end__ \
-Wl,--defsym,_etext=etext \
-Wl,--base-file,base.tmp
-Wl,--base-file,base.tmp \
$(TARGETNAME).o
- $(RM) junk.tmp
$(DLLTOOL) \
--dllname $(TARGET).exe \
--dllname $(TARGETNAME).exe \
--base-file base.tmp \
--output-exp temp.exp \
--def $(TARGET).edf \
--def $(TARGETNAME).edf \
--kill-at
- $(RM) base.tmp
$(CC) \
$(TARGET).o \
-Wl,-d -specs=../specs \
-mdll \
-o $(TARGET).exe \
-o $(TARGETNAME).exe \
-Wl,--image-base,0xc0000000 \
-Wl,--file-alignment,0x1000 \
-Wl,--section-alignment,0x1000 \
-Wl,--defsym,_end=__bss_end__ \
-Wl,--defsym,_edata=__data_end__ \
-Wl,--defsym,_etext=etext \
-Wl,temp.exp
-Wl,temp.exp \
$(TARGETNAME).o
- $(RM) temp.exp
$(NM) --numeric-sort $(TARGET).exe > $(TARGET).sym
$(NM) --numeric-sort $(TARGETNAME).exe > $(TARGETNAME).sym
$(TARGET).o: $(OBJECTS)
$(TARGETNAME).o: $(OBJECTS)
$(LD) \
-r $(OBJECTS) \
-o $(TARGET).o
-r \
-o $(TARGETNAME).o \
$(OBJECTS)
$(TARGET).a: $(TARGET).def
$(TARGETNAME).a: $(TARGETNAME).def
$(DLLTOOL) \
--dllname $(TARGET).exe \
--def $(TARGET).def \
--output-lib $(TARGET).a
--dllname $(TARGETNAME).exe \
--def $(TARGETNAME).def \
--output-lib $(TARGETNAME).a \
--kill-at
clean: $(CLEAN_FILES:%=%_clean)
@ -276,24 +508,24 @@ $(CLEAN_FILES:%=%_clean): %_clean:
.PHONY: clean $(CLEAN_FILES:%=%_clean)
floppy: $(FLOPPY_DIR)/$(TARGET).exe
floppy: $(FLOPPY_DIR)/$(TARGETNAME).exe
$(FLOPPY_DIR)/$(TARGET).exe: $(TARGET).exe
$(FLOPPY_DIR)/$(TARGETNAME).exe: $(TARGETNAME).exe
ifeq ($(DOSCLI),yes)
$(CP) $(TARGET).exe $(FLOPPY_DIR)\$(TARGET).exe
$(CP) $(TARGETNAME).exe $(FLOPPY_DIR)\$(TARGETNAME).exe
else
$(CP) $(TARGET).exe $(FLOPPY_DIR)/$(TARGET).exe
$(CP) $(TARGETNAME).exe $(FLOPPY_DIR)/$(TARGETNAME).exe
endif
.PHONY: dist
dist: ../$(DIST_DIR)/$(TARGET).exe
dist: ../$(DIST_DIR)/$(TARGETNAME).exe
../$(DIST_DIR)/$(TARGET).exe: $(TARGET).exe
../$(DIST_DIR)/$(TARGETNAME).exe: $(TARGETNAME).exe
ifeq ($(DOSCLI),yes)
$(CP) $(TARGET).exe ..\$(DIST_DIR)\$(TARGET).exe
$(CP) $(TARGETNAME).exe ..\$(DIST_DIR)\$(TARGETNAME).exe
else
$(CP) $(TARGET).exe ../$(DIST_DIR)/$(TARGET).exe
$(CP) $(TARGETNAME).exe ../$(DIST_DIR)/$(TARGETNAME).exe
endif
.PHONY: dist

View file

@ -1,4 +1,4 @@
; $Id: ntoskrnl.def,v 1.68 2000/04/15 23:13:17 ekohl Exp $
; $Id: ntoskrnl.def,v 1.69 2000/05/01 14:15:02 ea Exp $
;
; reactos/ntoskrnl/ntoskrnl.def
;
@ -13,6 +13,7 @@ CcReleaseFileCache@8
DbgBreakPoint@0
DbgBreakPointWithStatus@4
DbgPrint
ExAcquireFastMutexUnsafe@4
ExAcquireResourceExclusive
ExAcquireResourceExclusiveLite
ExAcquireResourceSharedLite
@ -38,7 +39,8 @@ ExFreeToZone
ExGetCurrentResourceThread
ExGetExclusiveWaiterCount
ExGetSharedWaiterCount
ExInitializeFastMutex
;FIXME: ExInitializeFastMutex is a macro!
ExInitializeFastMutex@4
ExInitializeNPagedLookasideList
ExInitializePagedLookasideList
ExInitializeResource
@ -72,7 +74,7 @@ ExRaiseAccessViolation@0
ExRaiseDatatypeMisalignment@0
ExRaiseStatus@4
ExReinitializeResourceLite
ExReleaseFastMutexUnsafe
ExReleaseFastMutexUnsafe@4
ExReleaseResource
ExReleaseResourceLite
ExReleaseResourceForThread
@ -777,9 +779,9 @@ RemoveEntryList
; exports from hal.dll
;
;
ExAcquireFastMutex
ExReleaseFastMutex
ExTryToAcquireFastMutex
ExAcquireFastMutex@4
ExReleaseFastMutex@4
ExTryToAcquireFastMutex@4
HalAcquireDisplayOwnership@4
HalAdjustResourceList@4
HalAllProcessorsStarted@0

View file

@ -1,4 +1,4 @@
; $Id: ntoskrnl.edf,v 1.55 2000/04/15 23:13:17 ekohl Exp $
; $Id: ntoskrnl.edf,v 1.56 2000/05/01 14:15:02 ea Exp $
;
; reactos/ntoskrnl/ntoskrnl.def
;
@ -13,6 +13,7 @@ CcReleaseFileCache=CcReleaseFileCache@8
DbgBreakPoint=DbgBreakPoint@0
DbgBreakPointWithStatus=DbgBreakPointWithStatus@4
DbgPrint
ExAcquireFastMutexUnsafe=ExAcquireFastMutexUnsafe@4
ExAcquireResourceExclusive
ExAcquireResourceExclusiveLite
ExAcquireResourceSharedLite
@ -38,7 +39,8 @@ ExFreeToZone
ExGetCurrentResourceThread
ExGetExclusiveWaiterCount
ExGetSharedWaiterCount
ExInitializeFastMutex
;FIXME: ExInitializeFastMutex is a macro!
ExInitializeFastMutex=ExInitializeFastMutex@4
ExInitializeNPagedLookasideList
ExInitializePagedLookasideList
ExInitializeResource
@ -72,7 +74,7 @@ ExRaiseAccessViolation=ExRaiseAccessViolation@0
ExRaiseDatatypeMisalignment=ExRaiseDatatypeMisalignment@0
ExRaiseStatus=ExRaiseStatus@4
ExReinitializeResourceLite
ExReleaseFastMutexUnsafe
ExReleaseFastMutexUnsafe=ExReleaseFastMutexUnsafe@4
ExReleaseResource
ExReleaseResourceLite
ExReleaseResourceForThread
@ -712,9 +714,9 @@ RemoveEntryList
; exports from hal.dll
;
;
ExAcquireFastMutex
ExReleaseFastMutex
ExTryToAcquireFastMutex
ExAcquireFastMutex=ExAcquireFastMutex@4
ExReleaseFastMutex=ExReleaseFastMutex@4
ExTryToAcquireFastMutex=ExTryToAcquireFastMutex@4
HalAcquireDisplayOwnership=HalAcquireDisplayOwnership@4
HalAdjustResourceList=HalAdjustResourceList@4
HalAllProcessorsStarted=HalAllProcessorsStarted@0

View file

@ -28,7 +28,7 @@ ifeq ($(HOST),mingw32-windows)
NASM_FORMAT = win32
PREFIX =
EXE_POSTFIX = .exe
CP = copy
CP = copy /B
DLLTOOL = $(PREFIX)dlltool --as=$(PREFIX)as
NASM_CMD = nasm
RM = del