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