I changed the PSXDLL.DLL version info description to make it different from MS' ...
[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 ifeq ($(HOST),mingw32-linux)
23 TOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
24 else
25 TOPDIR := $(shell cd)
26 endif
27
28 TOPDIR := $(TOPDIR)/$(PATH_TO_TOP)
29
30 #
31 # Choose various options
32 #
33 ifeq ($(HOST),mingw32-linux)
34 NASM_FORMAT = win32
35 PREFIX = mingw32-
36 EXE_POSTFIX :=
37 EXE_PREFIX := ./
38 DLLTOOL = $(PREFIX)dlltool --as=$(PREFIX)as
39 NASM_CMD = nasm
40 DOSCLI =
41 FLOPPY_DIR = /mnt/floppy
42 SEP := /
43 PIPE :=
44 endif
45
46 ifeq ($(HOST),mingw32-windows)
47 NASM_FORMAT = win32
48 PREFIX =
49 EXE_PREFIX :=
50 EXE_POSTFIX := .exe
51 DLLTOOL = $(PREFIX)dlltool --as=$(PREFIX)as
52 NASM_CMD = nasmw
53 DOSCLI = yes
54 FLOPPY_DIR = A:
55 SEP := \$(EMPTY_VAR)
56 PIPE := -pipe
57 endif
58
59
60 # Set INSTALL_DIR to default value if not already set
61 # ifeq ($(INSTALL_DIR),)
62 INSTALL_DIR = $(PATH_TO_TOP)/reactos
63 # endif
64
65 # Set DIST_DIR to default value if not already set
66 # ifeq ($(DIST_DIR),)
67 DIST_DIR = $(PATH_TO_TOP)/dist
68 # endif
69
70 # Directory to build a bootable CD image in
71 BOOTCD_DIR=$(TOPDIR)/../bootcd/disk
72
73 CC = $(PREFIX)gcc
74 CXX = $(PREFIX)g++
75 HOST_CC = gcc
76 HOST_CXX = g++
77 HOST_AR = ar
78 HOST_NM = nm
79 LD = $(PREFIX)ld
80 NM = $(PREFIX)nm
81 OBJCOPY = $(PREFIX)objcopy
82 STRIP = $(PREFIX)strip
83 AS = $(PREFIX)gcc -c -x assembler-with-cpp
84 CPP = $(PREFIX)cpp
85 AR = $(PREFIX)ar
86 RC = $(PREFIX)windres
87 WRC = $(WINE_TOP)/tools/wrc/wrc
88 RCINC = --include-dir $(PATH_TO_TOP)/include
89 OBJCOPY = $(PREFIX)objcopy
90 OBJDUMP =$(PREFIX)objdump
91 TOOLS_PATH = $(PATH_TO_TOP)/tools
92 CP = $(TOOLS_PATH)/rcopy
93 RM = $(TOOLS_PATH)/rdel
94 RLINE = $(TOOLS_PATH)/rline
95 RMDIR = $(TOOLS_PATH)/rrmdir
96 RMKDIR = $(TOOLS_PATH)/rmkdir
97 RSYM = $(TOOLS_PATH)/rsym
98 RTOUCH = $(TOOLS_PATH)/rtouch
99 REGTESTS = $(TOOLS_PATH)/regtests
100 MC = $(TOOLS_PATH)/wmc/wmc
101 CABMAN = $(TOOLS_PATH)/cabman/cabman
102 XSLTPROC = xsltproc
103
104
105 # Maybe we can delete these soon
106
107 ifeq ($(HOST),mingw32-linux)
108 CFLAGS := $(CFLAGS) -I$(PATH_TO_TOP)/include -pipe -march=i386 -D_M_IX86
109 endif
110
111 ifeq ($(HOST),mingw32-windows)
112 CFLAGS := $(CFLAGS) -I$(PATH_TO_TOP)/include -pipe -march=i386 -D_M_IX86
113 endif
114
115 CXXFLAGS = $(CFLAGS)
116 NFLAGS = -i$(PATH_TO_TOP)/include/ -f$(NASM_FORMAT) -d$(NASM_FORMAT)
117 ASFLAGS := $(ASFLAGS) -I$(PATH_TO_TOP)/include -D__ASM__
118
119
120 # Developer Kits
121 DK_PATH=$(PATH_TO_TOP)/dk
122 # Native and kernel mode
123 DDK_PATH=$(DK_PATH)/nkm
124 DDK_PATH_LIB=$(DDK_PATH)/lib
125 DDK_PATH_INC=$(PATH_TO_TOP)/include
126 # Win32
127 SDK_PATH=$(DK_PATH)/w32
128 SDK_PATH_LIB=$(SDK_PATH)/lib
129 SDK_PATH_INC=$(PATH_TO_TOP)/include
130 # POSIX+
131 XDK_PATH=$(DK_PATH)/psx
132 XDK_PATH_LIB=$(XDK_PATH)/lib
133 XDK_PATH_INC=$(XDK_PATH)/include
134
135 # Wine Integration
136 WINE_PATH=$(PATH_TO_TOP)/../wine
137 WINE_PATH_LIB=$(WINE_PATH)/lib
138 WINE_PATH_INC=$(WINE_PATH)/include
139
140 # Posix+ Integration
141 POSIX_PATH=$(PATH_TO_TOP)/../posix
142 POSIX_PATH_LIB=$(POSIX_PATH)/lib
143 POSIX_PATH_INC=$(POSIX_PATH)/include
144
145 # OS/2 Integration
146 OS2_PATH=$(PATH_TO_TOP)/../os2
147 OS2_PATH_LIB=$(OS2_PATH)/lib
148 OS2_PATH_INC=$(OS2_PATH)/include
149
150 # Other systems integration
151 ROOT_PATH=$(PATH_TO_TOP)/..