1 # Default to half-verbose mode
5 # Do not print "Entering directory ..."
6 export MAKEFLAGS
+= --no-print-directory
8 export MAKEFLAGS
+= --silent
15 # the following is a hack to get the target name for wine dlls
16 # it's disabled because it produces warnings about overriden rules for author.c
17 #ifeq ($(TARGET_TYPE),winedll)
18 # export TOOLS_PATH = $(PATH_TO_TOP)/tools
19 # -include Makefile.ros
21 ifeq ($(TARGET_NAME
),)
22 HALFVERBOSEECHO
= @echo
24 HALFVERBOSEECHO
= @echo
$(TARGET_NAME
):
26 # Do not print "Entering directory ..."
27 export MAKEFLAGS
+= --no-print-directory
29 export MAKEFLAGS
+= --silent
33 export MAKE
:= @
$(MAKE
)
38 # detect Windows host environment
40 ifeq ($(word 1,$(shell gcc
-dumpmachine
)),mingw32
)
43 export HOST
=mingw32-linux
47 # Default to building map files which includes source and asm code
48 # Other options are: yes
50 export BUILD_MAP
= full
53 # Default to dumping .sym files out of .nostrip files
55 export BUILD_SYM
= yes
58 # Default to minimal dependencies, making components not
59 # depend on all import libraries
60 ifeq ($(MINIMALDEPENDENCIES
),)
61 export MINIMALDEPENDENCIES
= yes
64 # Default to no PCH support
65 ifeq ($(ROS_USE_PCH
),)
66 export ROS_USE_PCH
= no
69 # uncomment if you use bochs and it displays only 30 rows
73 # Choose various options
75 ifeq ($(HOST
),mingw32-linux
)
76 export NASM_FORMAT
= win32
77 export PREFIX
= mingw32-
79 export EXE_PREFIX
:= .
/
80 export DLLTOOL
= $(PREFIX
)dlltool
--as=$(PREFIX
)as
82 # Do not change NASM_CMD to NASM because older versions of
83 # nasm doesn't like an environment variable NASM
85 export NASM_CMD
= nasm
87 export FLOPPY_DIR
= /mnt
/floppy
92 ifeq ($(HOST
),mingw32-windows
)
93 export NASM_FORMAT
= win32
96 export EXE_POSTFIX
:= .exe
97 export DLLTOOL
= $(Q
)$(PREFIX
)dlltool
--as=$(PREFIX
)as
99 # Do not change NASM_CMD to NASM because older versions of
100 # nasm doesn't like an environment variable NASM
102 export NASM_CMD
= $(Q
)nasmw
104 export FLOPPY_DIR
= A
:
105 export SEP
:= \
$(EMPTY_VAR
)
109 # TOPDIR is used by make bootcd but not defined anywhere. Usurp pointed out
110 # that it has the same meaning as PATH_TO_TOP.
111 export TOPDIR
= $(PATH_TO_TOP
)
113 # Directory to build a bootable CD image in
114 export BOOTCD_DIR
=$(TOPDIR
)/..
/bootcd
/disk
115 export LIVECD_DIR
=$(TOPDIR
)/..
/livecd
/disk
117 ifeq ($(LIVECD_INSTALL
),yes
)
118 export INSTALL_DIR
=$(LIVECD_DIR
)/reactos
120 # Use environment var ROS_INSTALL to override default install dir
121 ifeq ($(ROS_INSTALL
),)
122 ifeq ($(HOST
),mingw32-windows
)
123 export INSTALL_DIR
= C
:/reactos
125 export INSTALL_DIR
= $(PATH_TO_TOP
)/reactos
128 export INSTALL_DIR
= $(ROS_INSTALL
)
133 export CC
= $(Q
)$(PREFIX
)gcc
134 export CXX
= $(Q
)$(PREFIX
)g
++
135 export HOST_CC
= $(Q
)gcc
136 export HOST_CXX
= $(Q
)g
++
137 export HOST_AR
= $(Q
)ar
138 export HOST_NM
= $(Q
)nm
139 export LD
= $(Q
)$(PREFIX
)ld
140 export NM
= $(Q
)$(PREFIX
)nm
141 export OBJCOPY
= $(Q
)$(PREFIX
)objcopy
142 export STRIP
= $(Q
)$(PREFIX
)strip
143 export AS
= $(Q
)$(PREFIX
)gcc
-c
-x assembler-with-cpp
144 export CPP
= $(Q
)$(PREFIX
)cpp
145 export AR
= $(Q
)$(PREFIX
)ar
146 export RC
= $(Q
)$(PREFIX
)windres
147 export WRC
= $(Q
)$(WINE_TOP
)/tools
/wrc
/wrc
148 export OBJCOPY
= $(Q
)$(PREFIX
)objcopy
149 export OBJDUMP
=$(Q
)$(PREFIX
)objdump
150 export TOOLS_PATH
= $(PATH_TO_TOP
)/tools
151 export W32API_PATH
= $(PATH_TO_TOP
)/w32api
152 export CP
= $(Q
)$(TOOLS_PATH
)/rcopy
153 export RM
= $(Q
)$(TOOLS_PATH
)/rdel
154 export RLINE
= $(Q
)$(TOOLS_PATH
)/rline
155 export RMDIR
= $(Q
)$(TOOLS_PATH
)/rrmdir
156 export RMKDIR
= $(Q
)$(TOOLS_PATH
)/rmkdir
157 export RSYM
= $(Q
)$(TOOLS_PATH
)/rsym
158 export RTOUCH
= $(Q
)$(TOOLS_PATH
)/rtouch
159 export REGTESTS
= $(Q
)$(TOOLS_PATH
)/regtests
160 export MC
= $(Q
)$(TOOLS_PATH
)/wmc
/wmc
161 export CABMAN
= $(Q
)$(TOOLS_PATH
)/cabman
/cabman
162 export WINEBUILD
= $(Q
)$(TOOLS_PATH
)/winebuild
/winebuild
163 export WINE2ROS
= $(Q
)$(TOOLS_PATH
)/wine2ros
/wine2ros
164 export MKHIVE
= $(Q
)$(TOOLS_PATH
)/mkhive
/mkhive
165 export CDMAKE
= $(Q
)$(TOOLS_PATH
)/cdmake
/cdmake
166 export BIN2RES
= $(Q
)$(TOOLS_PATH
)/bin2res
/bin2res
167 export XSLTPROC
= $(Q
)xsltproc
168 export MS2PS
= $(Q
)$(TOOLS_PATH
)/ms2ps
/ms2ps
169 export WRC
= $(Q
)$(TOOLS_PATH
)/wrc
/wrc
170 export WIDL
= $(Q
)$(TOOLS_PATH
)/widl
/widl
172 export STD_CFLAGS
= -I
$(PATH_TO_TOP
)/include -I
$(W32API_PATH
)/include -pipe
-march
=$(OARCH
) -D_M_IX86
173 export STD_CPPFLAGS
= $(STD_CFLAGS
)
176 export STD_ASFLAGS
= -I
$(PATH_TO_TOP
)/include -I
$(W32API_PATH
)/include -D__ASM__
-D_M_IX86
-D__3GB__
178 export STD_ASFLAGS
= -I
$(PATH_TO_TOP
)/include -I
$(W32API_PATH
)/include -D__ASM__
-D_M_IX86
180 export STD_RCFLAGS
= --include-dir
$(PATH_TO_TOP
)/include --include-dir
$(W32API_PATH
)/include
181 export STD_NFLAGS
= -f win32
184 export DK_PATH
=$(PATH_TO_TOP
)/dk
185 # Native and kernel mode
186 export DDK_PATH
=$(DK_PATH
)/nkm
187 export DDK_PATH_LIB
=$(DDK_PATH
)/lib
188 export DDK_PATH_INC
=$(PATH_TO_TOP
)/include
190 export SDK_PATH
=$(DK_PATH
)/w32
191 export SDK_PATH_LIB
=$(SDK_PATH
)/lib
192 export SDK_PATH_INC
=$(PATH_TO_TOP
)/include
194 export XDK_PATH
=$(DK_PATH
)/psx
195 export XDK_PATH_LIB
=$(XDK_PATH
)/lib
196 export XDK_PATH_INC
=$(XDK_PATH
)/include
199 export WINE_PATH
=$(PATH_TO_TOP
)/..
/wine
200 export WINE_PATH_LIB
=$(WINE_PATH
)/lib
201 export WINE_PATH_INC
=$(WINE_PATH
)/include
204 export POSIX_PATH
=$(PATH_TO_TOP
)/..
/posix
205 export POSIX_PATH_LIB
=$(POSIX_PATH
)/lib
206 export POSIX_PATH_INC
=$(POSIX_PATH
)/include
209 export OS2_PATH
=$(PATH_TO_TOP
)/..
/os2
210 export OS2_PATH_LIB
=$(OS2_PATH
)/lib
211 export OS2_PATH_INC
=$(OS2_PATH
)/include
213 # Other systems integration
214 export REGTESTS_PATH
=$(PATH_TO_TOP
)/regtests
215 export REGTESTS_PATH_INC
=$(PATH_TO_TOP
)/regtests
/shared