2413bcc0a5948059292ce39e13ef9d872d8f3334
[reactos.git] / reactos / subsys / win32k / makefile
1 #
2 # WIN32K.SYS build spec
3 #
4
5 MAIN_OBJECTS = main/dllmain.o
6 STUBS_OBJECTS = stubs/stubs.o
7 RESOURCE_OBJECT = win32k.coff
8 OBJECTS = $(MAIN_OBJECTS) $(STUBS_OBJECTS) $(RESOURCE_OBJECT)
9
10 all: win32k.sys
11
12 win32k.coff: win32k.rc ../../include/reactos/resource.h
13 windres win32k.rc win32k.coff
14
15 ifeq ($(DOSCLI),yes)
16 CLEAN_FILES = main\*.o stubs\*.o win32k.coff win32k.o win32k.a junk.tmp base.tmp \
17 temp.exp win32k.sys win32k.sym
18 else
19 CLEAN_FILES = main/*.o stubs/*.o win32k.coff win32k.o win32k.a junk.tmp base.tmp \
20 temp.exp win32k.sys win32k.sym
21 endif
22
23 win32k.sys: $(OBJECTS) win32k.def
24 $(LD) -r $(OBJECTS) -o win32k.o
25 $(DLLTOOL) --dllname win32k.sys --def win32k.def \
26 --output-lib win32k.a
27 $(CC) --subsystem=windows -mdll --dll -e _DllMain@12 -o junk.tmp \
28 -Wl,--image-base,0x0 \
29 -Wl,--file-alignment,0x1000 \
30 -Wl,--section-alignment,0x1000 \
31 -Wl,--defsym,_end=end \
32 -Wl,--defsym,_edata=__data_end__ \
33 -Wl,--defsym,_etext=etext -Wl,--base-file,base.tmp win32k.o \
34 ../../ntoskrnl/ntoskrnl.a
35 - $(RM) junk.tmp
36 $(DLLTOOL) --dllname win32k.sys --base-file base.tmp \
37 --output-exp temp.exp --def win32k.def
38 - $(RM) base.tmp
39 $(CC) --subsystem=windows -mdll --dll -e _DllMain@12 \
40 -o win32k.sys win32k.o ../../ntoskrnl/ntoskrnl.a \
41 -Wl,--image-base,0x0 \
42 -Wl,--file-alignment,0x1000 \
43 -Wl,--section-alignment,0x1000 \
44 -Wl,--defsym,_end=end \
45 -Wl,--defsym,_edata=__data_end__ \
46 -Wl,--defsym,_etext=etext -Wl,temp.exp
47
48 - $(RM) temp.exp
49 $(NM) --numeric-sort win32k.sys > win32k.sym
50
51 clean: $(CLEAN_FILES:%=%_clean)
52
53 $(CLEAN_FILES:%=%_clean): %_clean:
54 - $(RM) $*
55
56 .PHONY: clean $(CLEAN_FILES:%=%_clean)
57
58 #WITH_DEBUGGING = yes
59 WIN32_LEAN_AND_MEAN = yes
60 #WARNINGS_ARE_ERRORS = yes
61 include ../../rules.mak
62