Added .o -> .sys rule to simplify driver makefiles
[reactos.git] / reactos / drivers / dd / floppy / Makefile
1 # $Id: Makefile,v 1.3 2000/08/18 22:27:04 dwelch Exp $
2 #
3 #
4 PATH_TO_TOP = ../../..
5
6 TARGET=floppy
7
8 OBJECTS = $(TARGET).o $(TARGET).coff ../../../ntoskrnl/ntoskrnl.a
9
10 BASE_CFLAGS = -I. -I../../../include
11
12 all: $(TARGET).sys
13
14 .phony: all
15
16 clean:
17 - $(RM) $(TARGET).o
18 - $(RM) $(TARGET).coff
19 - $(RM) junk.tmp
20 - $(RM) base.tmp
21 - $(RM) temp.exp
22 - $(RM) $(TARGET).sys
23
24 .phony: clean
25
26 install: $(FLOPPY_DIR)/drivers/$(TARGET).sys
27
28 $(FLOPPY_DIR)/drivers/$(TARGET).sys: $(TARGET).sys
29 ifeq ($(DOSCLI),yes)
30 $(CP) $(TARGET).sys $(FLOPPY_DIR)\drivers\$(TARGET).sys
31 else
32 $(CP) $(TARGET).sys $(FLOPPY_DIR)/drivers/$(TARGET).sys
33 endif
34
35 dist: ../../../$(DIST_DIR)/drivers/$(TARGET).sys
36
37 ../../../$(DIST_DIR)/drivers/$(TARGET).sys: $(TARGET).sys
38 ifeq ($(DOSCLI),yes)
39 $(CP) $(TARGET).sys ..\..\..\$(DIST_DIR)\drivers\$(TARGET).sys
40 else
41 $(CP) $(TARGET).sys ../../../$(DIST_DIR)/drivers/$(TARGET).sys
42 endif
43
44 $(TARGET).sys: $(OBJECTS)
45 $(CC) \
46 -specs=../../svc_specs \
47 -mdll \
48 -o junk.tmp \
49 -Wl,--defsym,_end=end \
50 -Wl,--defsym,_edata=__data_end__ \
51 -Wl,--defsym,_etext=etext \
52 -Wl,--base-file,base.tmp $(OBJECTS)
53 - $(RM) junk.tmp
54 $(DLLTOOL) \
55 --dllname $(TARGET).sys \
56 --base-file base.tmp \
57 --output-exp temp.exp \
58 --kill-at
59 - $(RM) base.tmp
60 $(CC) \
61 --verbose \
62 -Wl,--image-base,0x10000 \
63 -Wl,-e,_DriverEntry@8 \
64 -Wl,temp.exp \
65 -specs=../../svc_specs \
66 -mdll \
67 -o $(TARGET).sys \
68 $(OBJECTS)
69 - $(RM) temp.exp
70
71 WITH_DEBUGGING=yes
72 include ../../../rules.mak