makefiles: Generate the dependencies line to avoid some code duplication.
[wine] / loader / Makefile.in
1 TOPSRCDIR = @top_srcdir@
2 TOPOBJDIR = ..
3 SRCDIR    = @srcdir@
4 VPATH     = @srcdir@
5 MODULE    = wine
6
7 C_SRCS = \
8         glibc.c \
9         kthread.c \
10         main.c \
11         preloader.c \
12         pthread.c
13
14 KTHREAD_OBJS = kthread.o main.o
15 PTHREAD_OBJS = pthread.o main.o
16
17 MAIN_BINARY    = @MAIN_BINARY@
18 EXTRA_BINARIES = @EXTRA_BINARIES@
19 WINE_BINARIES  = $(MAIN_BINARY) $(EXTRA_BINARIES)
20
21 MANPAGES = wine.man
22
23 INSTALLDIRS = $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man$(prog_manext)
24
25 all: $(WINE_BINARIES) $(MODULE) $(MANPAGES)
26
27 @MAKE_RULES@
28
29 LIBPTHREAD  = @LIBPTHREAD@
30 LDEXECFLAGS = @LDEXECFLAGS@
31
32 wine-glibc: glibc.o Makefile.in
33         $(CC) -o $@ glibc.o $(LIBWINE_LDFLAGS) $(LIBPORT) $(LIBPTHREAD) $(EXTRALIBS) $(LDFLAGS)
34
35 wine-preloader: preloader.o Makefile.in
36         $(CC) -o $@ -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c000000 preloader.o $(LIBPORT) $(LDFLAGS)
37
38 wine-kthread: $(KTHREAD_OBJS) Makefile.in
39         $(CC) -o $@ $(LDEXECFLAGS) $(KTHREAD_OBJS) $(LIBWINE_LDFLAGS) $(LIBPORT) $(EXTRALIBS) $(LDFLAGS)
40
41 wine-pthread: $(PTHREAD_OBJS) Makefile.in
42         $(CC) -o $@ $(LDEXECFLAGS) $(PTHREAD_OBJS) $(LIBWINE_LDFLAGS) $(LIBPORT) $(LIBPTHREAD) $(EXTRALIBS) $(LDFLAGS)
43
44 $(MODULE): $(MAIN_BINARY)
45         $(RM) $(MODULE) && $(LN_S) $(MAIN_BINARY) $(MODULE)
46
47 install:: $(WINE_BINARIES) $(MANPAGES) $(INSTALLDIRS)
48         for f in $(WINE_BINARIES); do \
49           if [ "$(MAIN_BINARY)" = "$$f" ]; \
50           then $(INSTALL_PROGRAM) $$f $(DESTDIR)$(bindir)/$(MODULE); \
51           else $(INSTALL_PROGRAM) $$f $(DESTDIR)$(bindir)/$$f; \
52           fi; \
53         done
54         $(INSTALL_DATA) wine.man $(DESTDIR)$(mandir)/man$(prog_manext)/wine.$(prog_manext)
55
56 uninstall::
57         -cd $(DESTDIR)$(bindir) && $(RM) $(WINE_BINARIES) $(MODULE)
58         $(RM) $(DESTDIR)$(mandir)/man$(prog_manext)/wine.$(prog_manext)
59
60 clean::
61         $(RM) $(WINE_BINARIES) $(MODULE)
62
63 @DEPENDENCIES@  # everything below this line is overwritten by make depend