-# $Id: Makefile,v 1.127 2004/06/23 21:43:45 ion Exp $
+# $Id: Makefile,v 1.137 2004/08/10 12:05:20 ekohl Exp $
#
# ReactOS Operating System
#
STRIP_FLAGS := -Wl,-s
endif
+ifeq ($(OPTIMIZED), 1)
+CFLAGS_OPT := -O2 -Wno-strict-aliasing
+else
+CFLAGS_OPT :=
+endif
+
ifeq ($(KDBG), 1)
OBJECTS_KDBG := dbg/kdb.o dbg/kdb_serial.o dbg/kdb_keyboard.o dbg/rdebug.o \
dbg/i386/kdb_help.o dbg/kdb_stabs.o dbg/profile.o \
ifeq ($(strip $(SDK_PATH_INC)),)
ASFLAGS += -I./include
-CFLAGS += -I./include -D__NTOSKRNL__ $(CFLAGS_DBG) -Wall -Werror
+CFLAGS += -I./include -D__NTOSKRNL__ $(CFLAGS_DBG) -Wall -Werror $(CFLAGS_OPT)
else
ASFLAGS += -I./include -I$(SDK_PATH_INC)
-CFLAGS += -I./include -I$(SDK_PATH_INC) -D__NTOSKRNL__ $(CFLAGS_DBG) -Wall -Werror
+CFLAGS += -I./include -I$(SDK_PATH_INC) -D__NTOSKRNL__ $(CFLAGS_DBG) -Wall -Werror $(CFLAGS_OPT)
endif
# ASFLAGS += -D__USE_W32API -D_NTOSKRNL_
# System API (Nt/Zw)
OBJECTS_NT = \
nt/channel.o \
+ nt/efi.o \
nt/evtpair.o \
nt/mutant.o \
nt/misc.o \
# Run-Time Library (Rtl)
OBJECTS_RTL = \
rtl/atom.o \
- rtl/bit.o \
- rtl/bitmap.o \
rtl/capture.o \
rtl/ctype.o \
rtl/handle.o \
ke/catch.o \
ke/critical.o \
ke/dpc.o \
+ ke/device.o \
ke/error.o \
ke/event.o \
ke/kqueue.o \
ke/main.o \
ke/mutex.o \
ke/process.o \
+ ke/profile.o \
ke/queue.o \
ke/sem.o \
ke/spinlock.o \
mm/paging.o \
mm/pool.o \
mm/ppool.o \
+ mm/physical.o \
mm/region.o \
mm/rmap.o \
mm/section.o \
mm/slab.o \
+ mm/verifier.o \
mm/virtual.o \
mm/wset.o
io/timer.o \
io/vpb.o \
io/wdm.o \
+ io/wmi.o \
io/xhaldisp.o \
- io/xhaldrv.o \
- io/wmi.o
+ io/xhaldrv.o
# Object Manager (Ob)
OBJECTS_OB = \
ob/namespc.o \
ob/ntobj.o \
ob/object.o \
+ ob/sdcache.o \
ob/security.o \
ob/symlink.o
ps/create.o \
ps/debug.o \
ps/idle.o \
+ ps/job.o \
ps/kill.o \
ps/locale.o \
ps/process.o \
ex/napi.o \
ex/power.o \
ex/resource.o \
- ex/rundown.o \
+ ex/rundown.o \
ex/stree.o \
- ex/synch.o \
+ ex/synch.o \
ex/sysinfo.o \
- ex/time.o \
- ex/util.o \
+ ex/time.o \
+ ex/util.o \
ex/win32k.o \
ex/work.o \
ex/zone.o
# Kernel Debugger Support (Kd)
OBJECTS_KD = \
kd/dlog.o \
- kd/gdbstub.o \
+ kd/gdbstub.o \
kd/kdebug.o \
- kd/mda.o \
+ kd/mda.o \
kd/service.o
# Boot video (Inbv)
$(OBJECTS_PATH)/inbv.o \
$(OBJECTS_RESOURCE)
-
-$(TARGETNAME).nostrip.exe: $(TARGETNAME).o $(IE_DATA) $(SDK_PATH_LIB)/rtl.a $(SDK_PATH_LIB)/string.a $(SDK_PATH_LIB)/rosrtl.a
+NTOSKRNL_LIBS := \
+ $(DDK_PATH_LIB)/hal.a \
+ $(SDK_PATH_LIB)/rtl.a \
+ $(SDK_PATH_LIB)/string.a \
+ $(SDK_PATH_LIB)/rosrtl.a \
+ $(SDK_PATH_LIB)/pseh.a
+
+NTOSKRNL_LD_FLAGS := \
+ -Wl,--subsystem,native \
+ -Wl,--image-base,0xc0000000 \
+ -Wl,--file-alignment,0x1000 \
+ -Wl,--section-alignment,0x1000 \
+ -Wl,--entry,_NtProcessStartup
+
+$(TARGETNAME).nostrip.exe: $(TARGETNAME).o $(IE_DATA) $(NTOSKRNL_LIBS)
$(CC) \
-Wl,-T,ntoskrnl.lnk \
-nostartfiles \
-nostdlib \
-mdll \
-o junk.tmp \
- -Wl,--subsystem,native \
- -Wl,--image-base,0xc0000000 \
- -Wl,--file-alignment,0x1000 \
- -Wl,--section-alignment,0x1000 \
- -Wl,--entry,_NtProcessStartup \
+ $(NTOSKRNL_LD_FLAGS) \
-Wl,--base-file,base.tmp \
$(TARGETNAME).o -lgcc \
- $(SDK_PATH_LIB)/rtl.a \
- $(SDK_PATH_LIB)/string.a \
- $(SDK_PATH_LIB)/rosrtl.a \
- $(DDK_PATH_LIB)/hal.a
+ $(NTOSKRNL_LIBS)
- $(RM) junk.tmp
$(DLLTOOL) \
--dllname $(TARGETNAME).exe \
-Wl,-T,ntoskrnl.lnk \
-mdll \
-o $(TARGETNAME).nostrip.exe \
- -Wl,--subsystem,native \
- -Wl,--image-base,0xc0000000 \
- -Wl,--file-alignment,0x1000 \
- -Wl,--section-alignment,0x1000 \
- -Wl,--entry,_NtProcessStartup \
+ $(NTOSKRNL_LD_FLAGS) \
-Wl,temp.exp \
$(TARGETNAME).o -lgcc \
- $(SDK_PATH_LIB)/rtl.a \
- $(SDK_PATH_LIB)/string.a \
- $(SDK_PATH_LIB)/rosrtl.a \
- $(DDK_PATH_LIB)/hal.a
+ $(NTOSKRNL_LIBS)
- $(RM) temp.exp
-$(TARGETNAME).exe: $(TARGETNAME).o $(LINKER_SCRIPT) $(DDK_PATH_LIB)/hal.a $(SDK_PATH_LIB)/rtl.a $(SDK_PATH_LIB)/string.a $(SDK_PATH_LIB)/rosrtl.a
+$(TARGETNAME).exe: $(TARGETNAME).o $(LINKER_SCRIPT) $(NTOSKRNL_LIBS)
- $(CC) \
-Wl,-T,$(LINKER_SCRIPT) \
-nostartfiles \
-nostdlib \
-mdll \
-o junk.tmp \
- -Wl,--subsystem,native \
- -Wl,--image-base,0xc0000000 \
- -Wl,--file-alignment,0x1000 \
- -Wl,--section-alignment,0x1000 \
- -Wl,--entry,_NtProcessStartup \
+ $(NTOSKRNL_LD_FLAGS) \
-Wl,--base-file,base.tmp \
$(TARGETNAME).o -lgcc \
- $(SDK_PATH_LIB)/rtl.a \
- $(SDK_PATH_LIB)/string.a \
- $(SDK_PATH_LIB)/rosrtl.a \
- $(DDK_PATH_LIB)/hal.a
+ $(NTOSKRNL_LIBS)
- $(RM) junk.tmp
$(DLLTOOL) \
--dllname $(TARGETNAME).exe \
-nostdlib \
-mdll \
-o $(TARGETNAME).exe \
- -Wl,--subsystem,native \
- -Wl,--image-base,0xc0000000 \
- -Wl,--file-alignment,0x1000 \
- -Wl,--section-alignment,0x1000 \
- -Wl,--entry,_NtProcessStartup \
+ $(NTOSKRNL_LD_FLAGS) \
-Wl,temp.exp \
$(TARGETNAME).o -lgcc \
- $(SDK_PATH_LIB)/rtl.a \
- $(SDK_PATH_LIB)/string.a \
- $(SDK_PATH_LIB)/rosrtl.a \
- $(DDK_PATH_LIB)/hal.a
+ $(NTOSKRNL_LIBS)
- $(RM) temp.exp
$(TARGETNAME).dbg.o: $(TARGETNAME).o
$(STRIP) --strip-debug -o $(TARGETNAME).dbg.o $(TARGETNAME).o
-$(TARGETNAME).dbg: $(TARGETNAME).dbg.o $(TARGETNAME).a $(TARGETNAME).dbg.lnk $(DDK_PATH_LIB)/hal.a $(SDK_PATH_LIB)/rtl.a $(SDK_PATH_LIB)/string.a $(SDK_PATH_LIB)/rosrtl.a
+$(TARGETNAME).dbg: $(TARGETNAME).dbg.o $(TARGETNAME).a $(TARGETNAME).dbg.lnk $(NTOSKRNL_LIBS)
$(CC) \
-Wl,-T,$(TARGETNAME).dbg.lnk \
-nostartfiles \
-nostdlib \
-mdll \
-o junk.tmp \
- -Wl,--subsystem,native \
- -Wl,--image-base,0xc0000000 \
- -Wl,--file-alignment,0x1000 \
- -Wl,--section-alignment,0x1000 \
- -Wl,--entry,_NtProcessStartup \
+ $(NTOSKRNL_LD_FLAGS) \
-Wl,--base-file,base.tmp \
$(TARGETNAME).dbg.o -lgcc \
- $(SDK_PATH_LIB)/rtl.a \
- $(SDK_PATH_LIB)/string.a \
- $(SDK_PATH_LIB)/rosrtl.a \
- $(DDK_PATH_LIB)/hal.a
+ $(NTOSKRNL_LIBS)
- $(RM) junk.tmp
$(DLLTOOL) \
--dllname $(TARGETNAME).dbg \
-nostdlib \
-mdll \
-o $(TARGETNAME).dbg \
- -Wl,--subsystem,native \
- -Wl,--image-base,0xc0000000 \
- -Wl,--file-alignment,0x1000 \
- -Wl,--section-alignment,0x1000 \
- -Wl,--entry,_NtProcessStartup \
+ $(NTOSKRNL_LD_FLAGS) \
-Wl,temp.exp \
$(TARGETNAME).dbg.o -lgcc \
- $(SDK_PATH_LIB)/rtl.a \
- $(SDK_PATH_LIB)/string.a \
- $(SDK_PATH_LIB)/rosrtl.a \
- $(DDK_PATH_LIB)/hal.a
+ $(NTOSKRNL_LIBS)
- $(RM) temp.exp
$(TARGETNAME).sym: $(TARGETNAME).nostrip.exe
implib: $(DDK_PATH_LIB)/$(TARGETNAME).a
+test:
+ -
+
clean:
- $(RM) $(OBJECTS_PATH)/*.o cc/*.o cm/*.o dbg/*.o dbg/i386/*.o ex/*.o \
- ex/i386/*.o inbv/*.o io/*.o ke/*.o ldr/*.o mm/*.o nt/*.o ob/*.o ps/*.o \
- rtl/*.o rtl/i386/*.o se/*.o ke/i386/*.o mm/i386/*.o fs/*.o po/*.o \
- lpc/*.o kd/*.o $(TARGETNAME).o junk.tmp base.tmp temp.exp \
- $(TARGETNAME).exe $(TARGETNAME).nostrip.exe $(TARGETNAME).sym ntoskrnl.map \
- $(TARGETNAME).coff bugcodes.rc msg?????.bin $(DEP_FILES) \
+ ex/i386/*.o inbv/*.o io/*.o ke/*.o ldr/*.o mm/*.o nt/*.o ob/*.o \
+ ps/*.o ps/i386/*.o rtl/*.o rtl/i386/*.o se/*.o ke/i386/*.o \
+ mm/i386/*.o fs/*.o po/*.o lpc/*.o kd/*.o $(TARGETNAME).o \
+ junk.tmp base.tmp temp.exp $(TARGETNAME).exe \
+ $(TARGETNAME).nostrip.exe $(TARGETNAME).sym ntoskrnl.map \
+ $(TARGETNAME).coff bugcodes.rc msg?????.bin $(DEP_FILES) \
$(TAG_OBJECTS) $(PATH_TO_TOP)/include/reactos/bugcodes.h