Minor fix.
[reactos.git] / reactos / lib / gdi32 / makefile
1 # $Id: makefile,v 1.18 2001/07/15 21:18:54 rex Exp $
2 #
3 # Makefile for ReactOS gdi32.dll
4 #
5 PATH_TO_TOP = ../..
6
7 TARGET=gdi32
8
9 BASE_CFLAGS = -I../../include
10
11 DLLTARGET=$(TARGET).dll
12
13
14 all: $(DLLTARGET)
15
16 MAIN_OBJECTS = main/dllmain.o
17 MISC_OBJECTS = misc/stubs.o misc/stubsa.o misc/stubsw.o misc/win32k.o
18 RESOURCE_OBJECTS = $(TARGET).coff
19 OBJECTS_OBJECTS = objects/dc.o objects/line.o objects/pen.o objects/bitblt.o objects/text.o
20
21 OBJECTS = $(MAIN_OBJECTS) $(MISC_OBJECTS) $(RESOURCE_OBJECTS) $(OBJECTS_OBJECTS)
22
23 $(TARGET).a: $(OBJECTS)
24 $(AR) csr $(TARGET).a $(OBJECTS)
25
26 $(TARGET).coff: $(TARGET).rc ../../include/reactos/resource.h
27
28 $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
29 $(LD) -r $(OBJECTS) -o $(TARGET).o
30 $(DLLTOOL) \
31 --dllname $(TARGET).dll \
32 --def $(TARGET).def \
33 --kill-at \
34 --output-lib $(TARGET).a
35 $(CC) $(TARGET).o \
36 ../kernel32/kernel32.a \
37 ../ntdll/ntdll.a \
38 -specs=$(TARGET)_specs \
39 -mdll \
40 -o junk.tmp \
41 -Wl,--entry,_DllMain@12 \
42 -Wl,--base-file,base.tmp
43 - $(RM) junk.tmp
44 $(DLLTOOL) \
45 --dllname $(TARGET).dll \
46 --base-file base.tmp \
47 --output-exp temp.exp \
48 --def $(TARGET).edf
49 - $(RM) base.tmp
50 $(CC) $(TARGET).o \
51 ../kernel32/kernel32.a \
52 ../ntdll/ntdll.a \
53 -specs=$(TARGET)_specs \
54 -mdll \
55 -o $(TARGET).dll \
56 -Wl,--entry,_DllMain@12 \
57 -Wl,--image-base,0x77ed0000 \
58 -Wl,--file-alignment,0x1000 \
59 -Wl,--section-alignment,0x1000 \
60 -Wl,temp.exp
61 - $(RM) temp.exp
62 $(NM) --numeric-sort $(TARGET).dll > $(TARGET).sym
63
64 CLEAN_FILES = *.a *.o *.coff *.sym *.tmp *.dll main/*.o misc/*.o objects/*.o
65
66 clean:
67 - $(RM) $(CLEAN_FILES)
68
69 .PHONY: clean
70
71 install: $(FLOPPY_DIR)/dlls/$(TARGET).dll
72
73 $(FLOPPY_DIR)/dlls/$(TARGET).dll: $(TARGET).dll
74 $(CP) $(TARGET).dll $(FLOPPY_DIR)/dlls/$(TARGET).dll
75
76 dist: $(DIST_DIR)/dlls/$(TARGET).dll
77
78 $(DIST_DIR)/dlls/$(TARGET).dll: $(TARGET).dll
79 $(CP) $(TARGET).dll ../../$(DIST_DIR)/dlls/$(TARGET).dll
80
81 include ../../rules.mak
82
83 # EOF