Files
reactos/reactos/rules.mak
Casper Hornstrup 84b74a9cd9 2002-07-13 Casper S. Hornstrup <chorns@users.sourceforge.net>
* rules.mak (RSYM): Define.
	* include/ddk/zwtypes.h (DebugDbgLoadSymbols): Add to enum
	_DEBUG_CONTROL_CODE.
	* include/ntdll/ldr.h (LDR_SYMBOL_INFO, LdrpLoadUserModuleSymbols): Add.
	(LdrLoadModuleSymbols): Remove.
	* include/ntos/kdbgsyms.h (ST_FILENAME, ST_FUNCTION,
	ST_LINENUMBER): Add.
	(SYMBOL). Make Name an ANSI_STRING.
	(IMAGE_SYMBOL_INFO, AreSymbolsParsed): Add.
	* lib/ntdll/ldr/startup.c (LdrInitializeThunk): Call
	LdrpLoadUserModuleSymbols() not LdrLoadModuleSymbols().
	* lib/ntdll/ldr/utils.c (LdrLoadModuleSymbols): Rename to
	LdrpLoadUserModuleSymbols.
	(LdrpLoadUserModuleSymbols): Use DebugDbgLoadSymbols debug control code.
	(LdrLoadDll): assert if out of memory.
	(LdrLoadDll): Call
	LdrpLoadUserModuleSymbols(), not LdrLoadModuleSymbols().
	* lib/ntdll/string/ctype.c (_pctype): #undef.
	* ntoskrnl/dbg/dbgctrl.c (NtSystemDebugControl): Call
	LdrLoadUserModuleSymbols on DebugDbgLoadSymbols.
	* ntoskrnl/include/internal/ldr.h (LdrGetAddressInformation): Add.
	* ntoskrnl/include/internal/module.h (MODULE_TEXT_SECTION): Make SymbolInfo
	an IMAGE_SYMBOL_INFO.
	* ntoskrnl/ke/i386/exp.c (LdrGetAddressInformation): Add prototype.
	(print_address): Change #ifdef KDBG to #ifdef DBG.
	(KiDoubleFaultHandler, KiDumpTrapFrame, KeDumpStackFrames): Dump
	one stack frame per line.
	* ntoskrnl/ke/i386/multiboot.S: Create pagetables for more kernel
	address space so larger modules can be passed from the boot loader.
	* ntoskrnl/ke/i386/usertrap.c (LdrGetAddressInformation): Add prototype.
	(print_user_address): Print symbols using LdrGetAddressInformation().
	* ntoskrnl/ldr/loader.c (SYMBOLFILE_HEADER, IMAGE_SYMBOL_INFO_CACHE,
	STAB_ENTRY, N_FUN, N_SLINE, N_SO, SymbolListHead): Add.
	(TAG_SYM_BUF): Remove.
	(LdrInitDebug): Remove unneeded code.
	(LdrInit1): Prepare for loading symbols.
	(LdrpReadLine, HexL, LdrpParseLine, LdrpLoadModuleSymbolsFromBuffer,
	LdrpLoadUserModuleSymbolsFromBuffer): Remove.
	(LdrpParseImageSymbols, LdrpGetFileName, LdrpGetFunctionName,
	LdrpGetLineNumber, LdrGetAddressInformation, LdrpLookupUserSymbolInfo): Add.
	(LdrpLoadModuleSymbols, LdrInitializeBootStartDriver): Change to use new
	symbol structures.
	(LdrLoadUserModuleSymbols): Cache symbol buffers.
	(LdrUnloadModuleSymbols): Implement.
	(LdrLoadModule, LdrUnloadModule): Change #ifdef KDBG to #ifdef DBG.
	(LdrPEProcessModule): Split a line into two lines.
	(LdrPEProcessModule): Setup for loading symbols.
	* ntoskrnl/ldr/sysdll.c (LdrpMapSystemDll): Open with FILE_SHARE_READ.
	* ntoskrnl/ps/process.c (PiFreeSymbols): Call LdrUnloadModuleSymbols() to
	free symbols.
	(PiDeleteProcess): Change #ifdef KDBG to #ifdef DBG.
	* ntoskrnl/rtl/ctype.c (_pctype): #undef.
	* ntoskrnl/rtl/string.c (strncpy): Terminate destination string.
	* tools/Makefile (rsym): Add target.
	* tools/helper.mk: Include config and use -g if DBG = 1.

svn path=/trunk/; revision=3212
2002-07-13 12:44:09 +00:00

117 lines
2.4 KiB
Makefile

#
# Important
#
.EXPORT_ALL_VARIABLES:
# Windows is default host environment
ifeq ($(HOST),)
HOST = mingw32-windows
endif
# uncomment if you use bochs and it displays only 30 rows
# BOCHS_30ROWS = yes
ifeq ($(HOST),mingw32-linux)
TOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
endif
#
# Choose various options
#
ifeq ($(HOST),mingw32-linux)
NASM_FORMAT = win32
PREFIX = mingw32-
EXE_POSTFIX :=
EXE_PREFIX := ./
DLLTOOL = $(PREFIX)dlltool --as=$(PREFIX)as
NASM_CMD = nasm
DOSCLI =
FLOPPY_DIR = /mnt/floppy
SEP := /
PIPE :=
endif
ifeq ($(HOST),mingw32-windows)
NASM_FORMAT = win32
PREFIX =
EXE_PREFIX :=
EXE_POSTFIX := .exe
DLLTOOL = $(PREFIX)dlltool --as=$(PREFIX)as
NASM_CMD = nasmw
DOSCLI = yes
FLOPPY_DIR = A:
SEP := \$(EMPTY_VAR)
PIPE := -pipe
endif
# Set INSTALL_DIR to default value if not already set
# ifeq ($(INSTALL_DIR),)
INSTALL_DIR = $(PATH_TO_TOP)/reactos
# endif
# Set DIST_DIR to default value if not already set
# ifeq ($(DIST_DIR),)
DIST_DIR = $(PATH_TO_TOP)/dist
# endif
CC = $(PREFIX)gcc
CXX = $(PREFIX)g++
HOST_CC = gcc
HOST_NM = nm
LD = $(PREFIX)ld
NM = $(PREFIX)nm
OBJCOPY = $(PREFIX)objcopy
STRIP = $(PREFIX)strip
AS = $(PREFIX)gcc -c -x assembler-with-cpp
CPP = $(PREFIX)cpp
AR = $(PREFIX)ar
RC = $(PREFIX)windres
WRC = $(WINE_TOP)/tools/wrc/wrc
RCINC = --include-dir $(PATH_TO_TOP)/include
OBJCOPY = $(PREFIX)objcopy
TOOLS_PATH = $(PATH_TO_TOP)/tools
CP = $(TOOLS_PATH)/rcopy
RM = $(TOOLS_PATH)/rdel
RMDIR = $(TOOLS_PATH)/rrmdir
RMKDIR = $(TOOLS_PATH)/rmkdir
RSYM = $(TOOLS_PATH)/rsym
MC = $(TOOLS_PATH)/wmc/wmc
# Maybe we can delete these soon
ifeq ($(HOST),mingw32-linux)
CFLAGS := $(CFLAGS) -I$(PATH_TO_TOP)/include -pipe -march=i386
endif
ifeq ($(HOST),mingw32-windows)
CFLAGS := $(CFLAGS) -I$(PATH_TO_TOP)/include -pipe -march=i386
endif
CXXFLAGS = $(CFLAGS)
NFLAGS = -i$(PATH_TO_TOP)/include/ -f$(NASM_FORMAT) -d$(NASM_FORMAT)
ASFLAGS := $(ASFLAGS) -I$(PATH_TO_TOP)/include -D__ASM__
# Developer Kits
DK_PATH=$(PATH_TO_TOP)/dk
# Native and kernel mode
DDK_PATH=$(DK_PATH)/nkm
DDK_PATH_LIB=$(DDK_PATH)/lib
DDK_PATH_INC=$(PATH_TO_TOP)/include
# Win32
SDK_PATH=$(DK_PATH)/w32
SDK_PATH_LIB=$(SDK_PATH)/lib
SDK_PATH_INC=$(PATH_TO_TOP)/include
# POSIX+
XDK_PATH=$(DK_PATH)/psx
XDK_PATH_LIB=$(XDK_PATH)/lib
XDK_PATH_INC=$(XDK_PATH)/include
# Wine Integration
WINE_PATH=$(PATH_TO_TOP)/../wine
WINE_PATH_LIB=$(WINE_PATH)/lib
WINE_PATH_INC=$(WINE_PATH)/include