87acd1d5cf74a12993cdc55f64e9422394f38ccb
[reactos.git] / reactos / drivers / dd / vga / display / makefile
1 # $Id: makefile,v 1.14 2001/05/02 12:29:07 jfilby Exp $
2 #
3 # Makefile for ReactOS vgaddi.dll
4 #
5 PATH_TO_TOP = ../../../..
6 TARGET=vgaddi
7
8 CFLAGS = -I.
9
10 ifneq ($(HOST),mingw32-windows)
11 ifneq ($(HOST),mingw32-linux)
12 DLLTARGET=$(TARGET).a
13 else
14 DLLTARGET=$(TARGET).dll
15 endif
16 else
17 DLLTARGET=$(TARGET).dll
18 endif
19
20 all: $(DLLTARGET)
21
22 MAIN_OBJECTS = main/enable.o
23 OTHER_OBJECTS = objects/screen.o objects/pointer.o objects/lineto.o objects/paint.o objects/bitblt.o \
24 vgavideo/vgavideo.o objects/transblt.o
25 RESOURCE_OBJECTS = $(TARGET).coff
26
27 OBJECTS = $(MAIN_OBJECTS) $(OTHER_OBJECTS) $(RESOURCE_OBJECTS)
28
29 $(TARGET).a: $(OBJECTS)
30 $(AR) csr $(TARGET).a $(OBJECTS)
31
32 $(TARGET).coff: $(TARGET).rc ../../../../include/reactos/resource.h
33
34 $(TARGET).dll: $(DLLMAIN) $(OBJECTS) $(TARGET).def
35 $(LD) -r $(OBJECTS) -o $(TARGET).o
36 $(DLLTOOL) \
37 --dllname $(TARGET).dll \
38 --def $(TARGET).def \
39 --kill-at \
40 --output-lib $(TARGET).a
41 $(CC) $(TARGET).o \
42 ../../../../subsys/win32k/win32k.a \
43 ../../../../ntoskrnl/ntoskrnl.a \
44 -specs=$(TARGET)_specs \
45 -mdll \
46 -o junk.tmp \
47 -Wl,--entry,_DrvEnableDriver \
48 -Wl,--base-file,base.tmp
49 - $(RM) junk.tmp
50 $(DLLTOOL) \
51 --dllname $(TARGET).dll \
52 --base-file base.tmp \
53 --output-exp temp.exp \
54 --def $(TARGET).edf
55 - $(RM) base.tmp
56 $(CC) $(TARGET).o \
57 ../../../../subsys/win32k/win32k.a \
58 ../../../../ntoskrnl/ntoskrnl.a \
59 -specs=$(TARGET)_specs \
60 -mdll \
61 -o $(TARGET).dll \
62 -Wl,--entry,_DrvEnableDriver \
63 -Wl,--image-base,0x70000000 \
64 -Wl,--file-alignment,0x1000 \
65 -Wl,--section-alignment,0x1000 \
66 -Wl,temp.exp
67 - $(RM) temp.exp
68 $(NM) --numeric-sort $(TARGET).dll > $(TARGET).sym
69
70 ifeq ($(DOSCLI),yes)
71 CLEAN_FILES = *.o *.coff *.sym *.tmp *.dll main\*.o objects\*.o vgavideo\*.o *.a
72 else
73 CLEAN_FILES = *.o *.coff *.sym *.tmp *.dll main/*.o objects/*.o vgavideo/*.o *.a
74 endif
75
76 clean: $(CLEAN_FILES:%=%_clean)
77
78 $(CLEAN_FILES:%=%_clean): %_clean:
79 - $(RM) $*
80
81 .PHONY: clean $(CLEAN_FILES:%=%_clean)
82
83 install: $(FLOPPY_DIR)/dlls/$(TARGET).dll
84
85 $(FLOPPY_DIR)/dlls/$(TARGET).dll: $(TARGET).dll
86 $(CP) $(TARGET).dll $(FLOPPY_DIR)/dlls/$(TARGET).dll
87
88 dist: $(DIST_DIR)/dlls/$(TARGET).dll
89
90 $(DIST_DIR)/dlls/$(TARGET).dll: $(TARGET).dll
91 $(CP) $(TARGET).dll ../../../../$(DIST_DIR)/dlls/$(TARGET).dll
92
93 include ../../../../rules.mak
94
95 # EOF