More DirectDraw groundwork by Peter Bajusz
[reactos.git] / reactos / subsys / win32k / makefile
1 # $Id: makefile,v 1.81 2003/10/28 19:30:08 gvg 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 -Werror
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/caret.o 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 ntuser/winlock.o
59
60 OBJECTS_OBJECTS = objects/bitmaps.o objects/brush.o objects/cliprgn.o \
61 objects/color.o objects/coord.o objects/dc.o \
62 objects/fillshap.o objects/gdiobj.o objects/icm.o \
63 objects/line.o objects/metafile.o objects/paint.o \
64 objects/path.o objects/pen.o objects/print.o \
65 objects/region.o objects/text.o objects/wingl.o \
66 objects/bezier.o objects/objconv.o objects/dib.o \
67 objects/palette.o objects/rect.o objects/polyfill.o \
68 objects/cursoricon.o objects/semaphor.o
69
70 DIB_OBJECTS = dib/dib.o dib/dib1bpp.o dib/dib4bpp.o dib/dib8bpp.o dib/dib16bpp.o \
71 dib/dib24bpp.o dib/dib32bpp.o
72
73 STUBS_OBJECTS = stubs/stubs.o stubs/xpstubs.o
74
75 NTDDRAW_OBJECTS = ntddraw/stubs.o ntddraw/ddraw.o
76
77 TARGET_OBJECTS = \
78 $(ENG_OBJECTS) $(MAIN_OBJECTS) $(MISC_OBJECTS) $(LDR_OBJECTS) \
79 $(NTUSER_OBJECTS) $(OBJECTS_OBJECTS) $(STUBS_OBJECTS) \
80 $(MATH_OBJECTS) $(FLOAT_OBJECTS) $(DIB_OBJECTS) $(NTDDRAW_OBJECTS)
81
82 TARGET_CLEAN = $(DEP_FILES) \
83 dib/*.o \
84 eng/*.o \
85 ldr/*.o \
86 main/*.o \
87 misc/*.o \
88 ntuser/*.o \
89 objects/*.o \
90 ntddraw/*.o \
91 stubs/*.o
92
93 include $(PATH_TO_TOP)/rules.mak
94
95 include $(TOOLS_PATH)/helper.mk
96
97 # Automatic dependency tracking
98 DEP_OBJECTS := $(TARGET_OBJECTS)
99 DEP_EXCLUDE_FILTER := main/svctabm.d
100 include $(PATH_TO_TOP)/tools/depend.mk
101
102 main/svctabm.o: main/svctab.c
103
104 .dummy:
105
106 %/TAGS: .dummy
107 etags $(@D)/\*.c -o $(@D)/TAGS
108
109 etags: TAGS
110 TAGS: main/TAGS eng/TAGS ldr/TAGS misc/TAGS objects/TAGS stubs/TAGS ntuser/TAGS dib/TAGS ntddraw/TAGS
111 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 -i ntddraw/TAGS
112
113 # EOF