Changes for FsRtl added functions.
[reactos.git] / reactos / rules.mak
1 #
2 # Important
3 #
4 .EXPORT_ALL_VARIABLES:
5
6 ifeq ($(HOST),mingw32-linux)
7 TOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)
8 endif
9
10 #
11 # Choose various options
12 #
13 ifeq ($(HOST),mingw32-linux)
14 NASM_FORMAT = win32
15 PREFIX = i586-mingw32-
16 EXE_POSTFIX =
17 EXE_PREFIX = ./
18 CP = cp
19 DLLTOOL = $(PREFIX)dlltool --as=$(PREFIX)as
20 NASM_CMD = nasm
21 KM_SPECS = $(TOPDIR)/specs
22 FLOPPY_DIR = /a
23 # DIST_DIR should be relative from the top of the tree
24 DIST_DIR = dist
25 endif
26
27 ifeq ($(HOST),mingw32-windows)
28 NASM_FORMAT = win32
29 PREFIX =
30 EXE_POSTFIX = .exe
31 CP = copy
32 DLLTOOL = $(PREFIX)dlltool --as=$(PREFIX)as
33 NASM_CMD = nasm
34 RM = del
35 RMDIR = rmdir
36 KM_SPECS = specs
37 DOSCLI = yes
38 FLOPPY_DIR = A:
39 # DIST_DIR should be relative from the top of the tree
40 DIST_DIR = dist
41 endif
42
43 #
44 # Create variables for all the compiler tools
45 #
46 ifeq ($(WITH_DEBUGGING),yes)
47 DEBUGGING_CFLAGS = -g
48 else
49 DEBUGGING_CFLAGS =
50 endif
51
52 ifeq ($(WARNINGS_ARE_ERRORS),yes)
53 EXTRA_CFLAGS = -Werror
54 endif
55
56 DEFINES = -DDBG
57
58 ifeq ($(WIN32_LEAN_AND_MEAN),yes)
59 LEAN_AND_MEAN_DEFINE = -DWIN32_LEAN_AND_MEAN
60 else
61 LEAN_AND_MEAN_DEFINE =
62 endif
63
64 CC = $(PREFIX)gcc
65 NATIVE_CC = gcc
66 NATIVE_NM = nm
67 CFLAGS = $(BASE_CFLAGS) \
68 -pipe \
69 -O2 \
70 -Iinclude \
71 -fno-builtin $(LEAN_AND_MEAN_DEFINE) \
72 $(DEFINES) -Wall \
73 -Wstrict-prototypes $(DEBUGGING_CFLAGS) \
74 $(EXTRA_CFLAGS)
75 CXXFLAGS = $(CFLAGS)
76 NFLAGS = -i../../include/ -i../include/ -pinternal/asm.inc -f$(NASM_FORMAT) -d$(NASM_FORMAT)
77 LD = $(PREFIX)ld
78 NM = $(PREFIX)nm
79 OBJCOPY = $(PREFIX)objcopy
80 STRIP = $(PREFIX)strip
81 AS = $(PREFIX)gcc -c -x assembler-with-cpp
82 CPP = $(PREFIX)cpp
83 AR = $(PREFIX)ar
84 RC = $(PREFIX)windres
85 RCINC = --include-dir ../include --include-dir ../../include --include-dir ../../../include
86
87 %.o: %.cc
88 $(CC) $(CFLAGS) -c $< -o $@
89 %.o: %.c
90 $(CC) $(CFLAGS) -c $< -o $@
91 %.o: %.asm
92 $(NASM_CMD) $(NFLAGS) $< -o $@
93 %.coff: %.rc
94 $(RC) $(RCINC) $< $@
95
96
97 RULES_MAK_INCLUDED = 1