* added _DISABLE_TIDENTS macro to disable any ANSI/UNICODE ambiguous elements from...
[reactos.git] / reactos / subsys / win32k / makefile
1 # $Id: makefile,v 1.72 2003/08/07 04:03:25 royce Exp $
2
3 PATH_TO_TOP = ../..
4
5 TARGET_TYPE = subsystem
6
7 TARGET_NAME = win32k
8
9 TARGET_BASE = 0x0
10
11 TARGET_ENTRY = _DllMain@8
12
13 TARGET_DDKLIBS = freetype.a
14
15 FREETYPE_DIR = $(PATH_TO_TOP)/lib/freetype
16
17 include $(PATH_TO_TOP)/config
18
19 ifeq ($(DBG), 1)
20 CFLAGS_DBG := -g
21 else
22 CFLAGS_DBG :=
23 endif
24
25 TARGET_CFLAGS =\
26 $(CFLAGS_DBG) \
27 -I$(PATH_TO_TOP)/ntoskrnl/include \
28 -I$(FREETYPE_DIR)/include \
29 -DUNICODE \
30 -Wall
31
32 # require os code to explicitly request A/W version of structs/functions
33 TARGET_CFLAGS += -D_DISABLE_TIDENTS
34
35 TARGET_LFLAGS =\
36 $(PATH_TO_TOP)/dk/nkm/lib/freetype.a \
37 $(PATH_TO_TOP)/dk/w32/lib/rosrtl.a \
38 --disable-stdcall-fixup
39
40 ENG_OBJECTS= eng/debug.o eng/mem.o eng/brush.o eng/bitblt.o eng/clip.o \
41 eng/copybits.o eng/device.o eng/handle.o eng/lineto.o eng/paint.o \
42 eng/palette.o eng/perfcnt.o eng/surface.o eng/xlate.o eng/transblt.o \
43 eng/mouse.o eng/misc.o eng/nls.o eng/sort.o
44
45 MAIN_OBJECTS = main/dllmain.o main/svctabm.o
46
47 MISC_OBJECTS = misc/driver.o misc/error.o misc/math.o misc/object.o
48
49 LDR_OBJECTS = ldr/loader.o
50
51 NTUSER_OBJECTS = ntuser/class.o ntuser/guicheck.o ntuser/hook.o \
52 ntuser/message.o ntuser/msgqueue.o ntuser/stubs.o \
53 ntuser/userobj.o ntuser/window.o ntuser/winsta.o ntuser/menu.o \
54 ntuser/input.o ntuser/keyboard.o ntuser/callback.o \
55 ntuser/winpos.o ntuser/painting.o ntuser/metric.o \
56 ntuser/windc.o ntuser/prop.o ntuser/scrollbar.o \
57 ntuser/timer.o ntuser/misc.o ntuser/vis.o
58
59 OBJECTS_OBJECTS = objects/bitmaps.o objects/brush.o objects/cliprgn.o \
60 objects/color.o objects/coord.o objects/dc.o \
61 objects/fillshap.o objects/gdiobj.o objects/icm.o \
62 objects/line.o objects/metafile.o objects/paint.o \
63 objects/path.o objects/pen.o objects/print.o \
64 objects/region.o objects/text.o objects/wingl.o \
65 objects/bezier.o objects/objconv.o objects/dib.o \
66 objects/palette.o objects/rect.o objects/polyfill.o \
67 objects/cursoricon.o
68
69 DIB_OBJECTS = dib/dib.o dib/dib1bpp.o dib/dib4bpp.o dib/dib8bpp.o dib/dib16bpp.o \
70 dib/dib24bpp.o dib/dib32bpp.o
71
72 STUBS_OBJECTS = stubs/stubs.o
73
74 TARGET_OBJECTS = \
75 $(ENG_OBJECTS) $(MAIN_OBJECTS) $(MISC_OBJECTS) $(LDR_OBJECTS) \
76 $(NTUSER_OBJECTS) $(OBJECTS_OBJECTS) $(STUBS_OBJECTS) \
77 $(MATH_OBJECTS) $(FLOAT_OBJECTS) $(DIB_OBJECTS)
78
79 TARGET_CLEAN = $(DEP_FILES) \
80 dib/*.o \
81 eng/*.o \
82 ldr/*.o \
83 main/*.o \
84 misc/*.o \
85 ntuser/*.o \
86 objects/*.o \
87 stubs/*.o
88
89 include $(PATH_TO_TOP)/rules.mak
90
91 include $(TOOLS_PATH)/helper.mk
92
93 # Automatic dependency tracking
94 DEP_OBJECTS := $(TARGET_OBJECTS)
95 DEP_EXCLUDE_FILTER := main/svctabm.d
96 include $(PATH_TO_TOP)/tools/depend.mk
97
98 main/svctabm.o: main/svctab.c
99
100 .dummy:
101
102 %/TAGS: .dummy
103 etags $(@D)/\*.c -o $(@D)/TAGS
104
105 etags: TAGS
106 TAGS: main/TAGS eng/TAGS ldr/TAGS misc/TAGS objects/TAGS stubs/TAGS ntuser/TAGS dib/TAGS
107 etags -i main/TAGS -i eng/TAGS -i ldr/TAGS -i misc/TAGS -i objects/TAGS -i stubs/TAGS -i ntuser/TAGS -i dib/TAGS
108
109 # EOF