Temporary code
[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 EXE_POSTFIX :=
24 EXE_PREFIX := ./
25 DLLTOOL = $(PREFIX)dlltool --as=$(PREFIX)as
26 NASM_CMD = nasm
27 DOSCLI =
28 FLOPPY_DIR = /mnt/floppy
29 SEP := /
30 PIPE :=
31 endif
32
33 ifeq ($(HOST),mingw32-windows)
34 NASM_FORMAT = win32
35 PREFIX =
36 EXE_PREFIX :=
37 EXE_POSTFIX := .exe
38 DLLTOOL = $(PREFIX)dlltool --as=$(PREFIX)as
39 NASM_CMD = nasmw
40 DOSCLI = yes
41 FLOPPY_DIR = A:
42 SEP := \$(EMPTY_VAR)
43 PIPE := -pipe
44 endif
45
46
47 # Set INSTALL_DIR to default value if not already set
48 # ifeq ($(INSTALL_DIR),)
49 INSTALL_DIR = $(PATH_TO_TOP)/reactos
50 # endif
51
52 # Set DIST_DIR to default value if not already set
53 # ifeq ($(DIST_DIR),)
54 DIST_DIR = $(PATH_TO_TOP)/dist
55 # endif
56
57
58 CC = $(PREFIX)gcc
59 CXX = $(PREFIX)g++
60 HOST_CC = gcc
61 HOST_NM = nm
62 LD = $(PREFIX)ld
63 NM = $(PREFIX)nm
64 OBJCOPY = $(PREFIX)objcopy
65 STRIP = $(PREFIX)strip
66 AS = $(PREFIX)gcc -c -x assembler-with-cpp
67 CPP = $(PREFIX)cpp
68 AR = $(PREFIX)ar
69 RC = $(PREFIX)windres
70 WRC = ../$(PATH_TO_TOP)/tools/wrc/wrc
71 RCINC = --include-dir $(PATH_TO_TOP)/include
72 OBJCOPY = $(PREFIX)objcopy
73 TOOLS_PATH = $(PATH_TO_TOP)/tools
74 CP = $(TOOLS_PATH)/rcopy
75 RM = $(TOOLS_PATH)/rdel
76 RMDIR = $(TOOLS_PATH)/rrmdir
77 RMKDIR = $(TOOLS_PATH)/rmkdir
78 MC = $(TOOLS_PATH)/wmc/wmc
79
80
81 # Maybe we can delete these soon
82
83 ifeq ($(HOST),mingw32-linux)
84 CFLAGS := $(CFLAGS) -I$(PATH_TO_TOP)/include -pipe -march=i386
85 endif
86
87 ifeq ($(HOST),mingw32-windows)
88 CFLAGS := $(CFLAGS) -I$(PATH_TO_TOP)/include -pipe -march=i386
89 endif
90
91 CXXFLAGS = $(CFLAGS)
92 NFLAGS = -i$(PATH_TO_TOP)/include/ -f$(NASM_FORMAT) -d$(NASM_FORMAT)
93 ASFLAGS := $(ASFLAGS) -I$(PATH_TO_TOP)/include -D__ASM__
94
95
96 # Developer Kits
97 DK_PATH=$(PATH_TO_TOP)/dk
98 # Native and kernel mode
99 DDK_PATH=$(DK_PATH)/nkm
100 DDK_PATH_LIB=$(DDK_PATH)/lib
101 DDK_PATH_INC=$(PATH_TO_TOP)/include
102 # Win32
103 SDK_PATH=$(DK_PATH)/w32
104 SDK_PATH_LIB=$(SDK_PATH)/lib
105 SDK_PATH_INC=$(PATH_TO_TOP)/include
106 # POSIX+
107 XDK_PATH=$(DK_PATH)/psx
108 XDK_PATH_LIB=$(XDK_PATH)/lib
109 XDK_PATH_INC=$(XDK_PATH)/include
110
111 # Wine Integration
112 WINE_PATH=$(PATH_TO_TOP)/../wine
113 WINE_PATH_LIB=$(WINE_PATH)/lib
114 WINE_PATH_INC=$(WINE_PATH)/include