Renamed pseudo target 'floppy' to 'install'
[reactos.git] / reactos / lib / msvcrt / Makefile
1 # $Id: Makefile,v 1.2 2000/08/11 12:32:53 ekohl Exp $
2 #
3 # ReactOS Operating System
4 #
5 TARGET_NAME=msvcrt
6 ifneq ($(HOST),mingw32-windows)
7 ifneq ($(HOST),mingw32-linux)
8 TARGET_DLL=$(TARGET_NAME).a
9 else
10 TARGET_DLL=$(TARGET_NAME).dll
11 endif
12 else
13 TARGET_DLL=$(TARGET_NAME).dll
14 endif
15
16 BASE_CFLAGS = -I../../include
17
18 all: $(TARGET_DLL)
19
20
21
22 OBJECTS_MISC = \
23 misc/dllmain.o \
24 misc/msvcrt.coff
25
26 OBJECTS_PROCESS = \
27 process/thread.o
28
29 OBJECTS_STDLIB = \
30 stdlib/errno.o
31
32
33 OBJECTS = \
34 $(OBJECTS_MISC) \
35 $(OBJECTS_PROCESS) \
36 $(OBJECTS_STDLIB)
37
38 ifeq ($(DOSCLI), yes)
39 CLEAN_FILES = \
40 misc\*.o \
41 misc\*.coff \
42 process\*.o \
43 stdlib\*.o \
44 $(TARGET_NAME).a \
45 $(TARGET_NAME).o \
46 $(TARGET_NAME).dll \
47 $(TARGET_NAME).sym
48 else
49 CLEAN_FILES = \
50 misc/*.o \
51 misc/*.coff \
52 process/*.o \
53 stdlib/*.o \
54 $(TARGET_NAME).a \
55 $(TARGET_NAME).o \
56 $(TARGET_NAME).dll \
57 $(TARGET_NAME).sym
58 endif
59
60 $(TARGET_NAME).coff: $(TARGET_NAME).rc ../../include/reactos/resource.h
61
62 $(TARGET_NAME).a: $(OBJECTS)
63 $(LD) -r $(OBJECTS) -o $(TARGET_NAME).a
64
65 $(TARGET_NAME).dll: $(DLLMAIN) $(OBJECTS) misc/$(TARGET_NAME).def
66 $(LD) -r $(OBJECTS) -o $(TARGET_NAME).o
67 $(DLLTOOL) \
68 --dllname $(TARGET_NAME).dll \
69 --def misc/$(TARGET_NAME).def \
70 --output-lib misc/$(TARGET_NAME).a
71 $(CC) \
72 -specs=misc/$(TARGET_NAME)_specs \
73 -mdll \
74 -o junk.tmp \
75 -Wl,--base-file,base.tmp \
76 $(TARGET_NAME).o \
77 ../kernel32/kernel32.a
78 - $(RM) junk.tmp
79 $(DLLTOOL) \
80 --dllname $(TARGET_NAME).dll \
81 --base-file base.tmp \
82 --output-exp temp.exp \
83 --def misc/$(TARGET_NAME).def
84 - $(RM) base.tmp
85 $(CC) \
86 -specs=misc/$(TARGET_NAME)_specs \
87 -mdll \
88 -o $(TARGET_NAME).dll \
89 $(TARGET_NAME).o \
90 ../kernel32/kernel32.a \
91 -Wl,--image-base,0x77630000 \
92 -Wl,--file-alignment,0x1000 \
93 -Wl,--section-alignment,0x1000 \
94 -Wl,temp.exp
95 - $(RM) temp.exp
96 $(NM) --numeric-sort $(TARGET_NAME).dll > $(TARGET_NAME).sym
97
98 clean: $(CLEAN_FILES:%=%_clean)
99
100 $(CLEAN_FILES:%=%_clean): %_clean:
101 - $(RM) $*
102
103 install: $(FLOPPY_DIR)/dlls/$(TARGET_NAME).dll
104
105 $(FLOPPY_DIR)/dlls/$(TARGET_NAME).dll: $(TARGET_NAME).dll
106 ifeq ($(DOSCLI),yes)
107 $(CP) $(TARGET_NAME).dll $(FLOPPY_DIR)\dlls\$(TARGET_NAME).dll
108 else
109 $(CP) $(TARGET_NAME).dll $(FLOPPY_DIR)/dlls/$(TARGET_NAME).dll
110 endif
111
112 dist: $(DIST_DIR)/dlls/$(TARGET_NAME).dll
113
114 $(DIST_DIR)/dlls/$(TARGET_NAME).dll: $(TARGET_NAME).dll
115 ifeq ($(DOSCLI),yes)
116 $(CP) $(TARGET_NAME).dll ..\..\$(DIST_DIR)\dlls\$(TARGET_NAME).dll
117 else
118 $(CP) $(TARGET_NAME).dll ../../$(DIST_DIR)/dlls/$(TARGET_NAME).dll
119 endif
120
121 include ../../rules.mak
122