Added prototype for IoInitializeWorkerThreads, possibly temporary.
[reactos.git] / reactos / rules.mak
1 #
2 # Important
3 #
4 .EXPORT_ALL_VARIABLES:
5
6 # Windows is default host environment
7 ifeq ($(HOST),)
8 HOST = mingw32-windows
9 endif
10
11 # uncomment if you use bochs and it displays only 30 rows
12 # BOCHS_30ROWS = yes
13
14 ifeq ($(HOST),mingw32-linux)
15 TOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
16 endif
17
18 #
19 # Choose various options
20 #
21 ifeq ($(HOST),mingw32-linux)
22 NASM_FORMAT = win32
23 PREFIX = mingw32-
24 EXE_POSTFIX :=
25 EXE_PREFIX := ./
26 DLLTOOL = $(PREFIX)dlltool --as=$(PREFIX)as
27 NASM_CMD = nasm
28 DOSCLI =
29 FLOPPY_DIR = /mnt/floppy
30 SEP := /
31 PIPE :=
32 endif
33
34 ifeq ($(HOST),mingw32-windows)
35 NASM_FORMAT = win32
36 PREFIX =
37 EXE_PREFIX :=
38 EXE_POSTFIX := .exe
39 DLLTOOL = $(PREFIX)dlltool --as=$(PREFIX)as
40 NASM_CMD = nasmw
41 DOSCLI = yes
42 FLOPPY_DIR = A:
43 SEP := \$(EMPTY_VAR)
44 PIPE := -pipe
45 endif
46
47
48 # Set INSTALL_DIR to default value if not already set
49 # ifeq ($(INSTALL_DIR),)
50 INSTALL_DIR = $(PATH_TO_TOP)/reactos
51 # endif
52
53 # Set DIST_DIR to default value if not already set
54 # ifeq ($(DIST_DIR),)
55 DIST_DIR = $(PATH_TO_TOP)/dist
56 # endif
57
58
59 CC = $(PREFIX)gcc
60 CXX = $(PREFIX)g++
61 HOST_CC = gcc
62 HOST_NM = nm
63 LD = $(PREFIX)ld
64 NM = $(PREFIX)nm
65 OBJCOPY = $(PREFIX)objcopy
66 STRIP = $(PREFIX)strip
67 AS = $(PREFIX)gcc -c -x assembler-with-cpp
68 CPP = $(PREFIX)cpp
69 AR = $(PREFIX)ar
70 RC = $(PREFIX)windres
71 WRC = $(WINE_TOP)/tools/wrc/wrc
72 RCINC = --include-dir $(PATH_TO_TOP)/include
73 OBJCOPY = $(PREFIX)objcopy
74 TOOLS_PATH = $(PATH_TO_TOP)/tools
75 CP = $(TOOLS_PATH)/rcopy
76 RM = $(TOOLS_PATH)/rdel
77 RMDIR = $(TOOLS_PATH)/rrmdir
78 RMKDIR = $(TOOLS_PATH)/rmkdir
79 RSYM = $(TOOLS_PATH)/rsym
80 MC = $(TOOLS_PATH)/wmc/wmc
81
82
83 # Maybe we can delete these soon
84
85 ifeq ($(HOST),mingw32-linux)
86 CFLAGS := $(CFLAGS) -I$(PATH_TO_TOP)/include -pipe -march=i386
87 endif
88
89 ifeq ($(HOST),mingw32-windows)
90 CFLAGS := $(CFLAGS) -I$(PATH_TO_TOP)/include -pipe -march=i386
91 endif
92
93 CXXFLAGS = $(CFLAGS)
94 NFLAGS = -i$(PATH_TO_TOP)/include/ -f$(NASM_FORMAT) -d$(NASM_FORMAT)
95 ASFLAGS := $(ASFLAGS) -I$(PATH_TO_TOP)/include -D__ASM__
96
97
98 # Developer Kits
99 DK_PATH=$(PATH_TO_TOP)/dk
100 # Native and kernel mode
101 DDK_PATH=$(DK_PATH)/nkm
102 DDK_PATH_LIB=$(DDK_PATH)/lib
103 DDK_PATH_INC=$(PATH_TO_TOP)/include
104 # Win32
105 SDK_PATH=$(DK_PATH)/w32
106 SDK_PATH_LIB=$(SDK_PATH)/lib
107 SDK_PATH_INC=$(PATH_TO_TOP)/include
108 # POSIX+
109 XDK_PATH=$(DK_PATH)/psx
110 XDK_PATH_LIB=$(XDK_PATH)/lib
111 XDK_PATH_INC=$(XDK_PATH)/include
112
113 # Wine Integration
114 WINE_PATH=$(PATH_TO_TOP)/../wine
115 WINE_PATH_LIB=$(WINE_PATH)/lib
116 WINE_PATH_INC=$(WINE_PATH)/include