OSDN Git Service

Unify the duplicated windows and other system fallback logic in stubs.h
[uclinux-h8/elf2flt.git] / Makefile.in
1 srcdir = @srcdir@
2 VPATH = @srcdir@
3 prefix = @prefix@
4 exec_prefix = @exec_prefix@
5
6 bindir = @bindir@
7 libdir = @libdir@
8 includedir = @includedir@
9
10 CC = @CC@
11 CPU = @target_cpu@
12 TARGET = @target_alias@
13 CFLAGS = @CFLAGS@
14 INCLUDES = -I$(srcdir) @bfd_include_dir@ @binutils_include_dir@ @zlib_include_dir@
15 CPPFLAGS = @CPPFLAGS@ $(DEFS) $(INCLUDES)
16 LDFLAGS = @LDFLAGS@
17 LDLIBS = @LIBS@
18 INSTALL = @INSTALL@
19 DEFS = @DEFS@ -DTARGET_$(CPU)
20 EXEEXT = @EXEEXT@
21 OBJEXT = @OBJEXT@
22
23 HOST = @host_alias@
24
25 ifneq (,$(findstring mingw32,$(HOST)))
26    LDLIBS += -lws2_32
27 endif
28
29 # force link order under cygwin to avoid getopts / libiberty clash
30 ifneq ($(strip $(shell gcc -v 2>&1 | grep "cygwin")),)
31    LDLIBS := -lcygwin $(LDLIBS)
32 endif
33
34 LDFILE= elf2flt.ld
35 ifeq ($(strip $(CPU)),e1)
36 SRC_LDFILE= $(srcdir)/$(CPU)-elf2flt.ld
37 else 
38 SRC_LDFILE= elf2flt.ld
39 endif
40
41 target_bindir = $(prefix)/$(TARGET)/bin
42 target_libdir = $(prefix)/$(TARGET)/lib
43
44
45 PROG_ELF2FLT = elf2flt$(EXEEXT)
46 PROG_FLTHDR = flthdr$(EXEEXT)
47 PROGS = $(PROG_ELF2FLT) $(PROG_FLTHDR)
48
49 all: $(PROGS) ld-elf2flt
50
51 # We need to declare the link explicitly because make only provides
52 # implicit rules when EXEEXT is set to nothing
53 link = $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LDLIBS)
54
55 $(PROG_ELF2FLT): elf2flt.o compress.o stubs.o
56         $(link)
57
58 $(PROG_FLTHDR): flthdr.o compress.o stubs.o
59         $(link)
60
61 ld-elf2flt: $(srcdir)/ld-elf2flt.in
62         ./config.status $@
63
64 Makefile: $(srcdir)/Makefile.in
65         ./config.status $@
66
67 clean:
68         -rm -f $(PROGS) *.$(OBJEXT) .deps
69
70 distclean: clean
71         -rm -f Makefile config.log config.status config.cache ld-elf2flt
72
73 install:
74         $(INSTALL) -d $(bindir)
75         $(INSTALL) -d $(target_bindir)
76         $(INSTALL) -d $(target_libdir)
77         $(INSTALL) -m 755 $(PROG_FLTHDR) $(bindir)/$(TARGET)-$(PROG_FLTHDR)
78         $(INSTALL) -m 755 $(PROG_FLTHDR) $(target_bindir)/$(PROG_FLTHDR)
79         $(INSTALL) -m 755 $(PROG_ELF2FLT) $(bindir)/$(TARGET)-$(PROG_ELF2FLT)
80         $(INSTALL) -m 755 $(PROG_ELF2FLT) $(target_bindir)/$(PROG_ELF2FLT)
81         [ -f $(bindir)/$(TARGET)-ld.real$(EXEEXT) ] || \
82                 mv $(bindir)/$(TARGET)-ld$(EXEEXT) $(bindir)/$(TARGET)-ld.real$(EXEEXT)
83         [ -f $(target_bindir)/ld.real$(EXEEXT) ] || \
84                 mv $(target_bindir)/ld$(EXEEXT) $(target_bindir)/ld.real$(EXEEXT)
85         $(INSTALL) -m 755 ld-elf2flt $(bindir)/$(TARGET)-ld
86         $(INSTALL) -m 755 ld-elf2flt $(target_bindir)/ld
87         $(INSTALL) -m 644 $(SRC_LDFILE) $(target_libdir)/$(LDFILE)
88
89 sinclude .deps
90 .deps:
91         $(CC) -MM $(CPPFLAGS) *.c > .deps