Files
reactos/reactos/rules.mak
T
Casper Hornstrup 87589daf4e Preparations for checked/free like builds (CPRINT == DbgPrint when DBG is defined).
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
2001-05-01 23:08:21 +00:00

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