Services file for WS2_32.dll, created by Cameron Palmer.
[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 # Build map files which includes source and asm code
12 FULL_MAP = yes
13
14 # Default to no PCH support
15 ifeq ($(ROS_USE_PCH),)
16 ROS_USE_PCH = no
17 endif
18
19 # uncomment if you use bochs and it displays only 30 rows
20 # BOCHS_30ROWS = yes
21
22 #
23 # Choose various options
24 #
25 ifeq ($(HOST),mingw32-linux)
26 NASM_FORMAT = win32
27 PREFIX = mingw32-
28 EXE_POSTFIX :=
29 EXE_PREFIX := ./
30 DLLTOOL = $(PREFIX)dlltool --as=$(PREFIX)as
31 #
32 # Do not change NASM_CMD to NASM because older versions of
33 # nasm doesn't like an environment variable NASM
34 #
35 NASM_CMD = nasm
36 DOSCLI =
37 FLOPPY_DIR = /mnt/floppy
38 SEP := /
39 PIPE :=
40 endif
41
42 ifeq ($(HOST),mingw32-windows)
43 NASM_FORMAT = win32
44 PREFIX =
45 EXE_PREFIX :=
46 EXE_POSTFIX := .exe
47 DLLTOOL = $(PREFIX)dlltool --as=$(PREFIX)as
48 #
49 # Do not change NASM_CMD to NASM because older versions of
50 # nasm doesn't like an environment variable NASM
51 #
52 NASM_CMD = nasmw
53 DOSCLI = yes
54 FLOPPY_DIR = A:
55 SEP := \$(EMPTY_VAR)
56 PIPE := -pipe
57 endif
58
59 # TOPDIR is used by make bootcd but not defined anywhere. Usurp pointed out
60 # that it has the same meaning as PATH_TO_TOP.
61 TOPDIR = $(PATH_TO_TOP)
62
63 # Directory to build a bootable CD image in
64 BOOTCD_DIR=$(TOPDIR)/../bootcd/disk
65 LIVECD_DIR=$(TOPDIR)/../livecd/disk
66
67 ifeq ($(LIVECD_INSTALL),yes)
68 INSTALL_DIR=$(LIVECD_DIR)/reactos
69 else
70 # Use environment var ROS_INSTALL to override default install dir
71 ifeq ($(ROS_INSTALL),)
72 ifeq ($(HOST),mingw32-windows)
73 INSTALL_DIR = C:/reactos
74 else
75 INSTALL_DIR = $(PATH_TO_TOP)/reactos
76 endif
77 else
78 INSTALL_DIR = $(ROS_INSTALL)
79 endif
80 endif
81
82
83 CC = $(PREFIX)gcc
84 CXX = $(PREFIX)g++
85 HOST_CC = gcc
86 HOST_CXX = g++
87 HOST_AR = ar
88 HOST_NM = nm
89 LD = $(PREFIX)ld
90 NM = $(PREFIX)nm
91 OBJCOPY = $(PREFIX)objcopy
92 STRIP = $(PREFIX)strip
93 AS = $(PREFIX)gcc -c -x assembler-with-cpp
94 CPP = $(PREFIX)cpp
95 AR = $(PREFIX)ar
96 RC = $(PREFIX)windres
97 WRC = $(WINE_TOP)/tools/wrc/wrc
98 OBJCOPY = $(PREFIX)objcopy
99 OBJDUMP =$(PREFIX)objdump
100 TOOLS_PATH = $(PATH_TO_TOP)/tools
101 W32API_PATH = $(PATH_TO_TOP)/w32api
102 CP = $(TOOLS_PATH)/rcopy
103 RM = $(TOOLS_PATH)/rdel
104 RLINE = $(TOOLS_PATH)/rline
105 RMDIR = $(TOOLS_PATH)/rrmdir
106 RMKDIR = $(TOOLS_PATH)/rmkdir
107 RSYM = $(TOOLS_PATH)/rsym
108 RTOUCH = $(TOOLS_PATH)/rtouch
109 REGTESTS = $(TOOLS_PATH)/regtests
110 MC = $(TOOLS_PATH)/wmc/wmc
111 CABMAN = $(TOOLS_PATH)/cabman/cabman
112 WINEBUILD = $(TOOLS_PATH)/winebuild/winebuild
113 WINE2ROS = $(TOOLS_PATH)/wine2ros/wine2ros
114 XSLTPROC = xsltproc
115
116 STD_CFLAGS = -I$(PATH_TO_TOP)/include -I$(W32API_PATH)/include -pipe -march=i386 -D_M_IX86
117 STD_CPPFLAGS = $(STD_CFLAGS)
118 STD_ASFLAGS = -I$(PATH_TO_TOP)/include -I$(W32API_PATH)/include -D__ASM__ -D_M_IX86
119 STD_RCFLAGS = --include-dir $(PATH_TO_TOP)/include --include-dir $(W32API_PATH)/include
120 STD_NFLAGS = -f win32
121
122 # Developer Kits
123 DK_PATH=$(PATH_TO_TOP)/dk
124 # Native and kernel mode
125 DDK_PATH=$(DK_PATH)/nkm
126 DDK_PATH_LIB=$(DDK_PATH)/lib
127 DDK_PATH_INC=$(PATH_TO_TOP)/include
128 # Win32
129 SDK_PATH=$(DK_PATH)/w32
130 SDK_PATH_LIB=$(SDK_PATH)/lib
131 SDK_PATH_INC=$(PATH_TO_TOP)/include
132 # POSIX+
133 XDK_PATH=$(DK_PATH)/psx
134 XDK_PATH_LIB=$(XDK_PATH)/lib
135 XDK_PATH_INC=$(XDK_PATH)/include
136
137 # Wine Integration
138 WINE_PATH=$(PATH_TO_TOP)/../wine
139 WINE_PATH_LIB=$(WINE_PATH)/lib
140 WINE_PATH_INC=$(WINE_PATH)/include
141
142 # Posix+ Integration
143 POSIX_PATH=$(PATH_TO_TOP)/../posix
144 POSIX_PATH_LIB=$(POSIX_PATH)/lib
145 POSIX_PATH_INC=$(POSIX_PATH)/include
146
147 # OS/2 Integration
148 OS2_PATH=$(PATH_TO_TOP)/../os2
149 OS2_PATH_LIB=$(OS2_PATH)/lib
150 OS2_PATH_INC=$(OS2_PATH)/include
151
152 # Other systems integration
153 ROOT_PATH=$(PATH_TO_TOP)/..
154 REGTESTS_PATH_INC=$(PATH_TO_TOP)/regtests/shared