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 msys on a Windows host as linux
40 export HOST
=mingw32-linux
43 # detect Windows host environment
45 ifeq ($(word 1,$(shell gcc
-dumpmachine
)),mingw32
)
46 export HOST
=mingw32-windows
48 export HOST
=mingw32-linux
52 # Default to building map files which includes source and asm code
53 # Other options are: yes
55 export BUILD_MAP
= full
58 # Default to dumping .sym files out of .nostrip files
60 export BUILD_SYM
= yes
63 # Default to minimal dependencies, making components not
64 # depend on all import libraries
65 ifeq ($(MINIMALDEPENDENCIES
),)
66 export MINIMALDEPENDENCIES
= yes
69 # Default to no PCH support
70 ifeq ($(ROS_USE_PCH
),)
71 export ROS_USE_PCH
= no
74 # uncomment if you use bochs and it displays only 30 rows
78 # Choose various options
80 ifeq ($(HOST
),mingw32-linux64
)
81 export HOST_TYPE
= unix
82 export NASM_FORMAT
= win32
83 export PREFIX
= mingw32-
85 export EXE_PREFIX
:= .
/
86 export DLLTOOL
= $(PREFIX
)dlltool
--as=$(PREFIX
)as
88 # Do not change NASM_CMD to NASM because older versions of
89 # nasm doesn't like an environment variable NASM
91 export NASM_CMD
= nasm
93 export FLOPPY_DIR
= /mnt
/floppy
96 export HOST_ARCH
:= -m32
99 ifeq ($(HOST
),mingw32-linux
)
100 export HOST_TYPE
= unix
101 export NASM_FORMAT
= win32
102 ifeq ($(OSTYPE
),msys
)
104 export EXE_POSTFIX
:= .exe
106 export PREFIX
= mingw32-
107 export EXE_POSTFIX
:=
109 export EXE_PREFIX
:= .
/
110 export DLLTOOL
= $(PREFIX
)dlltool
--as=$(PREFIX
)as
112 # Do not change NASM_CMD to NASM because older versions of
113 # nasm doesn't like an environment variable NASM
115 export NASM_CMD
= nasm
117 export FLOPPY_DIR
= /mnt
/floppy
122 ifeq ($(HOST
),mingw32-windows
)
123 export NASM_FORMAT
= win32
126 export EXE_POSTFIX
:= .exe
127 export DLLTOOL
= $(Q
)$(PREFIX
)dlltool
--as=$(PREFIX
)as
129 # Do not change NASM_CMD to NASM because older versions of
130 # nasm doesn't like an environment variable NASM
132 export NASM_CMD
= $(Q
)nasmw
134 export FLOPPY_DIR
= A
:
135 export SEP
:= \
$(EMPTY_VAR
)
139 # TOPDIR is used by make bootcd but not defined anywhere. Usurp pointed out
140 # that it has the same meaning as PATH_TO_TOP.
141 export TOPDIR
= $(PATH_TO_TOP
)
143 # Directory to build a bootable CD image in
144 export BOOTCD_DIR
=$(TOPDIR
)/..
/bootcd
/disk
145 export LIVECD_DIR
=$(TOPDIR
)/..
/livecd
/disk
147 ifeq ($(LIVECD_INSTALL
),yes
)
148 export INSTALL_DIR
=$(LIVECD_DIR
)/reactos
150 # Use environment var ROS_INSTALL to override default install dir
151 ifeq ($(ROS_INSTALL
),)
152 ifeq ($(HOST
),mingw32-windows
)
153 export INSTALL_DIR
= C
:/reactos
155 export INSTALL_DIR
= $(PATH_TO_TOP
)/reactos
158 export INSTALL_DIR
= $(ROS_INSTALL
)
163 export CC
= $(Q
)$(PREFIX
)gcc
164 export CXX
= $(Q
)$(PREFIX
)g
++
165 export HOST_CC
= $(Q
)gcc
$(HOST_ARCH
)
166 export HOST_CXX
= $(Q
)g
++ $(HOST_ARCH
)
167 export HOST_AR
= $(Q
)ar
168 export HOST_NM
= $(Q
)nm
169 export LD
= $(Q
)$(PREFIX
)ld
170 export NM
= $(Q
)$(PREFIX
)nm
171 export OBJCOPY
= $(Q
)$(PREFIX
)objcopy
172 export STRIP
= $(Q
)$(PREFIX
)strip
173 export AS
= $(Q
)$(PREFIX
)gcc
-c
-x assembler-with-cpp
174 export CPP
= $(Q
)$(PREFIX
)cpp
175 export AR
= $(Q
)$(PREFIX
)ar
176 export RC
= $(Q
)$(PREFIX
)windres
177 export WRC
= $(Q
)$(WINE_TOP
)/tools
/wrc
/wrc
178 export OBJCOPY
= $(Q
)$(PREFIX
)objcopy
179 export OBJDUMP
=$(Q
)$(PREFIX
)objdump
180 export TOOLS_PATH
= $(PATH_TO_TOP
)/tools
181 export W32API_PATH
= $(PATH_TO_TOP
)/w32api
182 export CP
= $(Q
)$(TOOLS_PATH
)/rcopy
183 export RM
= $(Q
)$(TOOLS_PATH
)/rdel
184 export RLINE
= $(Q
)$(TOOLS_PATH
)/rline
185 export RMDIR
= $(Q
)$(TOOLS_PATH
)/rrmdir
186 export RMKDIR
= $(Q
)$(TOOLS_PATH
)/rmkdir
187 export RSYM
= $(Q
)$(TOOLS_PATH
)/rsym
188 export RTOUCH
= $(Q
)$(TOOLS_PATH
)/rtouch
189 export REGTESTS
= $(Q
)$(TOOLS_PATH
)/regtests
190 export MC
= $(Q
)$(TOOLS_PATH
)/wmc
/wmc
191 export CABMAN
= $(Q
)$(TOOLS_PATH
)/cabman
/cabman
192 export WINEBUILD
= $(Q
)$(TOOLS_PATH
)/winebuild
/winebuild
193 export WINE2ROS
= $(Q
)$(TOOLS_PATH
)/wine2ros
/wine2ros
194 export MKHIVE
= $(Q
)$(TOOLS_PATH
)/mkhive
/mkhive
195 export CDMAKE
= $(Q
)$(TOOLS_PATH
)/cdmake
/cdmake
196 export BIN2RES
= $(Q
)$(TOOLS_PATH
)/bin2res
/bin2res
197 export XSLTPROC
= $(Q
)xsltproc
198 export MS2PS
= $(Q
)$(TOOLS_PATH
)/ms2ps
/ms2ps
199 export WRC
= $(Q
)$(TOOLS_PATH
)/wrc
/wrc
200 export WIDL
= $(Q
)$(TOOLS_PATH
)/widl
/widl
202 export HOST_STD_CFLAGS
= -I
$(PATH_TO_TOP
)/include -I
$(W32API_PATH
)/include -pipe
-D_M_IX86
$(HOSTARCH
)
203 export STD_CFLAGS
= -I
$(PATH_TO_TOP
)/include -I
$(W32API_PATH
)/include -pipe
-march
=$(OARCH
) -D_M_IX86
204 export HOST_STD_CPPFLAGS
= $(HOST_STD_CFLAGS
)
205 export STD_CPPFLAGS
= $(STD_CFLAGS
)
208 export STD_ASFLAGS
= -I
$(PATH_TO_TOP
)/include -I
$(W32API_PATH
)/include -D__ASM__
-D_M_IX86
-D__3GB__
210 export STD_ASFLAGS
= -I
$(PATH_TO_TOP
)/include -I
$(W32API_PATH
)/include -D__ASM__
-D_M_IX86
212 export STD_RCFLAGS
= --include-dir
$(PATH_TO_TOP
)/include --include-dir
$(W32API_PATH
)/include
213 export STD_NFLAGS
= -f win32
216 export DK_PATH
=$(PATH_TO_TOP
)/dk
217 # Native and kernel mode
218 export DDK_PATH
=$(DK_PATH
)/nkm
219 export DDK_PATH_LIB
=$(DDK_PATH
)/lib
220 export DDK_PATH_INC
=$(PATH_TO_TOP
)/include
222 export SDK_PATH
=$(DK_PATH
)/w32
223 export SDK_PATH_LIB
=$(SDK_PATH
)/lib
224 export SDK_PATH_INC
=$(PATH_TO_TOP
)/include
226 export XDK_PATH
=$(DK_PATH
)/psx
227 export XDK_PATH_LIB
=$(XDK_PATH
)/lib
228 export XDK_PATH_INC
=$(XDK_PATH
)/include
231 export WINE_PATH
=$(PATH_TO_TOP
)/..
/wine
232 export WINE_PATH_LIB
=$(WINE_PATH
)/lib
233 export WINE_PATH_INC
=$(WINE_PATH
)/include
236 export POSIX_PATH
=$(PATH_TO_TOP
)/..
/posix
237 export POSIX_PATH_LIB
=$(POSIX_PATH
)/lib
238 export POSIX_PATH_INC
=$(POSIX_PATH
)/include
241 export OS2_PATH
=$(PATH_TO_TOP
)/..
/os2
242 export OS2_PATH_LIB
=$(OS2_PATH
)/lib
243 export OS2_PATH_INC
=$(OS2_PATH
)/include
245 # Other systems integration
246 export REGTESTS_PATH
=$(PATH_TO_TOP
)/regtests
247 export REGTESTS_PATH_INC
=$(PATH_TO_TOP
)/regtests
/shared