move work on clean rule
[reactos.git] / reactos / lib / ole32 / makefile
1 # ReactOS 0.17
2 # Jurgen Van Gael [jurgen.vangael@student.kuleuven.ac.be]
3 #
4 # Makefile for ReactOS ole32.dll
5 #
6 PATH_TO_TOP = ../..
7
8 CFLAGS = -fno-rtti -I../../include/
9
10 TARGETNAME=ole32
11
12 DLLTARGET=$(TARGETNAME).dll
13
14
15 OBJECTS=\
16 DllMain.o \
17 CoXxx.o \
18 Moniker.o \
19 Ole2.o \
20 OleAuto.o \
21 Misc.o \
22 Storage.o
23
24
25 CLEAN_FILES = *.o \
26 $(TARGETNAME).o $(TARGETNAME).a junk.tmp base.tmp temp.exp \
27 $(TARGETNAME).dll $(TARGETNAME).sym
28
29 all: $(DLLTARGET)
30
31 $(TARGETNAME).a: $(OBJECTS)
32 $(LD) -r $(OBJECTS) -o $(TARGETNAME).a
33
34 $(TARGETNAME).dll: $(DLLMAIN) $(OBJECTS) $(TARGETNAME).def
35 $(LD) -r $(OBJECTS) -o $(TARGETNAME).o
36 $(DLLTOOL) \
37 --dllname $(TARGETNAME).dll \
38 --def $(TARGETNAME).def \
39 --kill-at \
40 --output-lib $(TARGETNAME).a
41 $(CC) \
42 $(TARGETNAME).o \
43 ../kernel32/kernel32.a \
44 -nostartfiles \
45 -nostdlib \
46 -mdll \
47 -o junk.tmp \
48 -Wl,--entry=_DllMain@12\
49 -Wl,--base-file,base.tmp
50 - $(RM) junk.tmp
51 $(DLLTOOL) \
52 --dllname $(TARGETNAME).dll \
53 --base-file base.tmp \
54 --output-exp temp.exp \
55 --def $(TARGETNAME).edf
56 - $(RM) base.tmp
57 $(CC) \
58 $(TARGETNAME).o \
59 ../kernel32/kernel32.a \
60 -nostartfiles \
61 -nostdlib \
62 -mdll \
63 -o $(TARGETNAME).dll \
64 -Wl,--entry=_DllMain@12\
65 -Wl,--image-base,0x77A50000 \
66 -Wl,--file-alignment,0x1000 \
67 -Wl,--section-alignment,0x1000 \
68 -Wl,temp.exp
69 - $(RM) temp.exp
70 $(NM) --numeric-sort $(TARGETNAME).dll > $(TARGETNAME).sym
71
72
73 clean:
74 - $(RM) $(CLEAN_FILES)
75
76 .PHONY: clean
77
78 include ../../rules.mak