654c8978752352df6cab82f2a8e2b2abe066d4e0
[reactos.git] / reactos / lib / gdi32 / makefile
1 # $Id: makefile,v 1.5 1999/06/25 04:35:49 rex Exp $
2 #
3 # Makefile for ReactOS gdi32.dll
4 #
5 TARGET=gdi32
6
7 ifneq ($(HOST),mingw32-windows)
8 ifneq ($(HOST),mingw32-linux)
9 DLLTARGET=$(TARGET).a
10 else
11 DLLTARGET=$(TARGET).dll
12 endif
13 else
14 DLLTARGET=$(TARGET).dll
15 endif
16
17 all: $(DLLTARGET)
18
19 MAIN_OBJECTS = main/dllmain.o
20
21 MISC_OBJECTS = misc/stubs.o misc/stubsa.o misc/stubsw.o
22
23 RESOURCE_OBJECTS = $(TARGET).coff
24
25 OBJECTS = $(MAIN_OBJECTS) $(MISC_OBJECTS) $(RESOURCE_OBJECTS)
26
27 $(TARGET).a: $(OBJECTS)
28 $(AR) csr $(TARGET).a $(OBJECTS)
29
30 $(TARGET).coff: $(TARGET).rc ../../include/reactos/resource.h
31
32 $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
33 $(LD) -r $(OBJECTS) -o $(TARGET).o
34 $(DLLTOOL) \
35 --dllname $(TARGET).dll \
36 --def $(TARGET).def \
37 --output-lib $(TARGET).a
38 $(CC) $(TARGET).o \
39 ../kernel32/kernel32.a \
40 -specs=$(TARGET)_specs \
41 -mdll \
42 -o junk.tmp \
43 -Wl,--base-file,base.tmp
44 - $(RM) junk.tmp
45 $(DLLTOOL) \
46 --dllname $(TARGET).dll \
47 --base-file base.tmp \
48 --output-exp temp.exp \
49 --def $(TARGET).def
50 - $(RM) base.tmp
51 $(CC) $(TARGET).o \
52 ../kernel32/kernel32.a \
53 -specs=$(TARGET)_specs \
54 -mdll \
55 -o $(TARGET).dll \
56 -Wl,--image-base,0x70000000 \
57 -Wl,--file-alignment,0x1000 \
58 -Wl,--section-alignment,0x1000 \
59 -Wl,temp.exp
60 - $(RM) temp.exp
61 $(NM) --numeric-sort $(TARGET).dll > $(TARGET).sym
62
63 ifeq ($(DOSCLI),yes)
64 CLEAN_FILES = *.o *.coff *.sym *.tmp *.dll main\*.o misc\*.o
65 else
66 CLEAN_FILES = *.o *.coff *.sym *.tmp *.dll main/*.o misc/*.o
67 endif
68
69 clean: $(CLEAN_FILES:%=%_clean)
70
71 $(CLEAN_FILES:%=%_clean): %_clean:
72 - $(RM) $*
73
74 .PHONY: clean $(CLEAN_FILES:%=%_clean)
75
76 floppy: $(FLOPPY_DIR)/dlls/gdi32.dll
77
78 $(FLOPPY_DIR)/dlls/gdi32.dll: gdi32.dll
79 ifeq ($(DOSCLI),yes)
80 $(CP) gdi32.dll $(FLOPPY_DIR)\dlls\gdi32.dll
81 else
82 $(CP) gdi32.dll $(FLOPPY_DIR)/dlls/gdi32.dll
83 endif
84
85 include ../../rules.mak
86
87 # EOF