Added version resource script.
[reactos.git] / reactos / lib / shell32 / makefile
1 # $Id: makefile,v 1.4 2001/07/21 08:36:33 ea Exp $
2 #
3 # Makefile for ReactOS shell32.dll
4 #
5 PATH_TO_TOP = ../..
6
7 BASE_CFLAGS = -I../../include
8
9 TARGETNAME=shell32
10
11 IMAGE_BASE = 0x77260000
12
13 DLLTARGET=$(TARGETNAME).dll
14
15 MISC_OBJECTS=\
16 misc/dllmain.o \
17 misc/stubs.o
18
19 OBJECTS=\
20 $(MISC_OBJECTS) \
21 $(TARGETNAME).coff
22
23 CLEAN_FILES = misc/*.o \
24 $(TARGETNAME).o $(TARGETNAME).a junk.tmp base.tmp temp.exp \
25 $(TARGETNAME).dll $(TARGETNAME).sym $(TARGETNAME).coff
26
27 all: $(DLLTARGET)
28
29 $(TARGETNAME).coff: $(TARGETNAME).rc $(PATH_TO_TOP)/include/reactos/resource.h
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 ../ntdll/ntdll.a \
44 ../kernel32/kernel32.a \
45 -nostartfiles \
46 -nostdlib \
47 -mdll \
48 -o junk.tmp \
49 -Wl,--entry=_DllMain@12\
50 -Wl,--base-file,base.tmp
51 - $(RM) junk.tmp
52 $(DLLTOOL) \
53 --dllname $(TARGETNAME).dll \
54 --base-file base.tmp \
55 --output-exp temp.exp \
56 --def $(TARGETNAME).def
57 - $(RM) base.tmp
58 $(CC) \
59 $(TARGETNAME).o \
60 ../ntdll/ntdll.a \
61 ../kernel32/kernel32.a \
62 -nostartfiles \
63 -nostdlib \
64 -mdll \
65 -o $(TARGETNAME).dll \
66 -Wl,--entry=_DllMain@12\
67 -Wl,--image-base,$(IMAGE_BASE) \
68 -Wl,--file-alignment,0x1000 \
69 -Wl,--section-alignment,0x1000 \
70 -Wl,temp.exp
71 - $(RM) temp.exp
72 $(NM) --numeric-sort $(TARGETNAME).dll > $(TARGETNAME).sym
73
74
75 clean:
76 - $(RM) $(CLEAN_FILES)
77
78 .PHONY: clean
79
80 install: $(FLOPPY_DIR)/dlls/$(TARGETNAME).dll
81
82 $(FLOPPY_DIR)/dlls/$(TARGETNAME).dll: $(TARGETNAME).dll
83 $(CP) $(TARGETNAME).dll $(FLOPPY_DIR)/dlls/$(TARGETNAME).dll
84
85
86 dist: $(DIST_DIR)/dlls/$(TARGETNAME).dll
87
88 $(DIST_DIR)/dlls/$(TARGETNAME).dll: $(TARGETNAME).dll
89 $(CP) $(TARGETNAME).dll ../../$(DIST_DIR)/dlls/$(TARGETNAME).dll
90
91
92 include ../../rules.mak
93