0
|
1 LIB1ASMSRC = i386/cygwin.asm
|
|
2 LIB1ASMFUNCS = _chkstk
|
|
3
|
|
4 # cygwin and mingw always have a limits.h, but, depending upon how we are
|
|
5 # doing the build, it may not be installed yet.
|
|
6 LIMITS_H_TEST = true
|
|
7
|
|
8 # If we are building next to winsup, this will let us find the real
|
|
9 # limits.h when building libgcc2. Otherwise, winsup must be installed
|
|
10 # first.
|
|
11 LIBGCC2_INCLUDES = -I$(srcdir)/../winsup/w32api/include
|
|
12
|
|
13 winnt.o: $(srcdir)/config/i386/winnt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
|
14 $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
|
|
15 $(TM_P_H) toplev.h $(HASHTAB_H) $(GGC_H)
|
|
16 $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
|
17 $(srcdir)/config/i386/winnt.c
|
|
18
|
|
19 winnt-cxx.o: $(srcdir)/config/i386/winnt-cxx.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
|
20 $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
|
|
21 $(TM_P_H) toplev.h $(HASHTAB_H) $(GGC_H)
|
|
22 $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
|
23 $(srcdir)/config/i386/winnt-cxx.c
|
|
24
|
|
25
|
|
26 winnt-stubs.o: $(srcdir)/config/i386/winnt-stubs.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
|
27 $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
|
|
28 $(TM_P_H) toplev.h $(HASHTAB_H) $(GGC_H)
|
|
29 $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
|
30 $(srcdir)/config/i386/winnt-stubs.c
|
|
31
|
|
32 msformat-c.o: $(srcdir)/config/i386/msformat-c.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
|
33 $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
|
|
34 $(TM_P_H) toplev.h $(HASHTAB_H) $(GGC_H)
|
|
35 $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
|
36 $(srcdir)/config/i386/msformat-c.c
|
|
37
|
|
38 STMP_FIXINC=stmp-fixinc
|
|
39
|
|
40 # Build a shared libgcc library for PECOFF with a DEF file
|
|
41 # with the GNU linker.
|
|
42 #
|
|
43 # mkmap-flat.awk is used with the pe_dll option to produce a DEF instead
|
|
44 # of an ELF map file.
|
|
45 #
|
|
46 # Warning: If SHLIB_SOVERSION or SHLIB_SONAME are updated, LIBGCC_SONAME
|
|
47 # in mingw32.h and SHLIB_MKMAP_OPTS below must be updated also.
|
|
48
|
|
49 SHLIB_EXT = .dll
|
|
50 SHLIB_IMPLIB = @shlib_base_name@.a
|
|
51 SHLIB_SOVERSION = 1
|
|
52 SHLIB_SONAME = @shlib_base_name@_$(EH_MODEL)-$(SHLIB_SOVERSION)$(SHLIB_EXT)
|
|
53 SHLIB_MAP = @shlib_map_file@
|
|
54 SHLIB_OBJS = @shlib_objs@
|
|
55 SHLIB_DIR = @multilib_dir@/shlib
|
|
56 SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@
|
|
57
|
|
58 SHLIB_LINK = $(LN_S) -f $(SHLIB_MAP) $(SHLIB_MAP).def && \
|
|
59 if [ ! -d $(SHLIB_DIR) ]; then \
|
|
60 mkdir $(SHLIB_DIR); \
|
|
61 else true; fi && \
|
|
62 $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
|
|
63 $(SHLIB_MAP).def \
|
|
64 -Wl,--out-implib,$(SHLIB_DIR)/$(SHLIB_IMPLIB).tmp \
|
|
65 -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \
|
|
66 $(SHLIB_OBJS) $(SHLIB_LC) && \
|
|
67 if [ -f $(SHLIB_DIR)/$(SHLIB_SONAME) ]; then \
|
|
68 mv -f $(SHLIB_DIR)/$(SHLIB_SONAME) \
|
|
69 $(SHLIB_DIR)/$(SHLIB_SONAME).backup; \
|
|
70 else true; fi && \
|
|
71 mv $(SHLIB_DIR)/$(SHLIB_SONAME).tmp $(SHLIB_DIR)/$(SHLIB_SONAME) && \
|
|
72 mv $(SHLIB_DIR)/$(SHLIB_IMPLIB).tmp $(SHLIB_DIR)/$(SHLIB_IMPLIB)
|
|
73 # $(slibdir) double quoted to protect it from expansion while building
|
|
74 # libgcc.mk. We want this delayed until actual install time.
|
|
75 SHLIB_INSTALL = \
|
|
76 $$(mkinstalldirs) $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL); \
|
|
77 $(INSTALL_PROGRAM) $(SHLIB_DIR)/$(SHLIB_SONAME) \
|
|
78 $$(DESTDIR)$$(bindir)/$(SHLIB_SONAME); \
|
|
79 $(INSTALL_DATA) $(SHLIB_DIR)/$(SHLIB_IMPLIB) \
|
|
80 $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_IMPLIB)
|
|
81 SHLIB_MKMAP = $(srcdir)/mkmap-flat.awk
|
|
82 # We'd like to use SHLIB_SONAME here too, but shlib_base_name
|
|
83 # does not get substituted before mkmap-flat.awk is run.
|
|
84 SHLIB_MKMAP_OPTS = -v pe_dll=libgcc_s_$(EH_MODEL)-$(SHLIB_SOVERSION)$(SHLIB_EXT)
|
|
85 SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver
|