mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-31 04:13:37 +00:00
Modified loadros to support loading symbol files early at startup. Modified loadros to convey BIOS memory map to the kernel if available. Began building PnP manager device tree. Added shutdown command to shell.exe svn path=/trunk/; revision=1852
148 lines
3.1 KiB
Makefile
148 lines
3.1 KiB
Makefile
#
|
|
# Important
|
|
#
|
|
.EXPORT_ALL_VARIABLES:
|
|
|
|
HOST = mingw32-windows
|
|
|
|
# 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 = /usr/mingw32-cvs-000216/bin/mingw32-pc-
|
|
#PREFIX = i586-mingw32-
|
|
#PREFIX = /usr/mingw32-cvs-000207/bin/mingw32-cvs-000207-
|
|
EXE_POSTFIX :=
|
|
EXE_PREFIX := ./
|
|
#CP = cp
|
|
CP = $(PATH_TO_TOP)/rcopy
|
|
DLLTOOL = $(PREFIX)dlltool --as=$(PREFIX)as
|
|
NASM_CMD = nasm
|
|
#KM_SPECS = $(TOPDIR)/specs
|
|
FLOPPY_DIR = /a
|
|
# DIST_DIR should be relative from the top of the tree
|
|
DIST_DIR = dist
|
|
#DOT := \\.
|
|
#DSEP := /
|
|
#ENABLE_DEPENDENCY_TRACKING := 1
|
|
endif
|
|
|
|
ifeq ($(HOST),mingw32-windows)
|
|
NASM_FORMAT = win32
|
|
PREFIX =
|
|
EXE_PREFIX :=
|
|
EXE_POSTFIX := .exe
|
|
#CP = copy /B
|
|
CP = $(PATH_TO_TOP)/rcopy
|
|
DLLTOOL = $(PREFIX)dlltool --as=$(PREFIX)as
|
|
NASM_CMD = nasmw
|
|
RM = del
|
|
RMDIR = rmdir
|
|
#KM_SPECS = specs
|
|
DOSCLI = yes
|
|
FLOPPY_DIR = A:
|
|
# DIST_DIR should be relative from the top of the tree
|
|
DIST_DIR = dist
|
|
#DOT := \.
|
|
#DSEP := \\
|
|
#ENABLE_DEPENDENCY_TRACKING := 1
|
|
endif
|
|
|
|
CC = $(PREFIX)gcc
|
|
CXX = $(PREFIX)g++
|
|
HOST_CC = gcc
|
|
HOST_NM = nm
|
|
CFLAGS := $(CFLAGS) -I$(PATH_TO_TOP)/include -pipe -m386
|
|
CXXFLAGS = $(CFLAGS)
|
|
NFLAGS = -i$(PATH_TO_TOP)/include/ -f$(NASM_FORMAT) -d$(NASM_FORMAT)
|
|
LD = $(PREFIX)ld
|
|
NM = $(PREFIX)nm
|
|
OBJCOPY = $(PREFIX)objcopy
|
|
STRIP = $(PREFIX)strip
|
|
ASFLAGS := $(ASFLAGS) -I$(PATH_TO_TOP)/include -D__ASM__
|
|
AS = $(PREFIX)gcc -c -x assembler-with-cpp
|
|
CPP = $(PREFIX)cpp
|
|
AR = $(PREFIX)ar
|
|
RC = $(PREFIX)windres
|
|
RCINC = --include-dir $(PATH_TO_TOP)/include
|
|
OBJCOPY = $(PREFIX)objcopy
|
|
|
|
%.o: %.cc
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
%.o: %.c
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
%.o: %.S
|
|
$(AS) $(ASFLAGS) -c $< -o $@
|
|
%.o: %.s
|
|
$(AS) $(ASFLAGS) -c $< -o $@
|
|
%.o: %.asm
|
|
$(NASM_CMD) $(NFLAGS) $< -o $@
|
|
%.coff: %.rc
|
|
$(RC) $(RCINC) $< $@
|
|
|
|
%.sys: %.o
|
|
$(CC) \
|
|
-nostartfiles -nostdlib -e _DriverEntry@8\
|
|
-mdll \
|
|
-o junk.tmp \
|
|
-Wl,--defsym,_end=end \
|
|
-Wl,--defsym,_edata=__data_end__ \
|
|
-Wl,--defsym,_etext=etext \
|
|
-Wl,--base-file,base.tmp $^
|
|
- $(RM) junk.tmp
|
|
$(DLLTOOL) \
|
|
--dllname $@ \
|
|
--base-file base.tmp \
|
|
--output-exp temp.exp \
|
|
--kill-at
|
|
- $(RM) base.tmp
|
|
$(CC) \
|
|
--verbose \
|
|
-Wl,--subsystem,native \
|
|
-Wl,--image-base,0x10000 \
|
|
-Wl,-e,_DriverEntry@8 \
|
|
-Wl,temp.exp \
|
|
-nostartfiles -nostdlib -e _DriverEntry@8 \
|
|
-mdll \
|
|
-o $@.unstripped \
|
|
$^
|
|
- $(RM) temp.exp
|
|
- $(NM) --numeric-sort $@.unstripped > $@.sym
|
|
$(STRIP) --strip-debug $<
|
|
$(CC) \
|
|
-nostartfiles -nostdlib -e _DriverEntry@8 \
|
|
-mdll \
|
|
-o junk.tmp \
|
|
-Wl,--defsym,_end=end \
|
|
-Wl,--defsym,_edata=__data_end__ \
|
|
-Wl,--defsym,_etext=etext \
|
|
-Wl,--base-file,base.tmp $^
|
|
- $(RM) junk.tmp
|
|
$(DLLTOOL) \
|
|
--dllname $@ \
|
|
--base-file base.tmp \
|
|
--output-exp temp.exp \
|
|
--kill-at
|
|
- $(RM) base.tmp
|
|
$(CC) \
|
|
--verbose \
|
|
-Wl,--subsystem,native \
|
|
-Wl,--image-base,0x10000 \
|
|
-Wl,-e,_DriverEntry@8 \
|
|
-Wl,temp.exp \
|
|
-nostartfiles -nostdlib -e _DriverEntry@8 \
|
|
-mdll \
|
|
-o $@ \
|
|
$^
|
|
- $(RM) temp.exp
|
|
|
|
RULES_MAK_INCLUDED = 1
|