1 # This Makefile understands the following targets:
3 # all (default): build wine
4 # clean: remove all intermediate files
5 # distclean: also remove all files created by configure
6 # depend: create the dependencies
7 # etags: Create a TAGS file for Emacs.
9 # Author: Michael Patra <micky@marie.physik.tu-berlin.de>
10 # <patra@itp1.physik.tu-berlin.de>
12 # First some useful definitions
21 XLIB
= @X_PRE_LIBS@
-lXext
-lX11 @X_EXTRA_LIBS@
26 SUBMAKE
= $(MAKE
) 'CC=$(CC)' 'CFLAGS=$(CFLAGS)' 'OPTIONS=$(OPTIONS)'
32 INSTALL_PROGRAM
= @INSTALL_PROGRAM@
33 INSTALL_DATA
= @INSTALL_DATA@
35 exec_prefix = @
exec_prefix@
38 mandir = @
mandir@
/man1
41 # Main target to build
43 MAIN_TARGET
= @MAIN_TARGET@
50 graphics
/metafiledrv \
73 PROGSUBDIRS
= libtest programs
75 ALLSUBDIRS
= $(COMMONSUBDIRS
) $(EMUSUBDIRS
) $(LIBSUBDIRS
) $(PROGSUBDIRS
)
81 graphics
/metafiledrv
/metafiledrv.o \
82 graphics
/x11drv
/x11drv.o \
88 multimedia
/multimedia.o \
90 resources
/resources.o \
91 scheduler
/scheduler.o \
97 graphics
/win16drv
/win16drv.o \
101 LIBOBJS
= library
/library.o
106 install: install_
$(MAIN_TARGET
)
108 wine wine.sym
: $(COMMONSUBDIRS
) $(EMUSUBDIRS
) dummy
109 $(CC
) -o wine
$(COMMONOBJS
) $(EMUOBJS
) $(LDOPTIONS
) $(X_LIBS
) $(XPM_LIB
) $(XLIB
) $(LDLIBS
)
110 nm
-n wine | grep
-v _compiled
>wine.sym
113 $(INSTALL_PROGRAM
) wine
$(bindir)/wine
114 $(INSTALL_DATA
) wine.man
$(mandir)/wine
$(manext)
116 libwine.a
: $(COMMONSUBDIRS
) $(LIBSUBDIRS
) dummy
118 $(AR
) $@
$(COMMONOBJS
) $(LIBOBJS
)
121 install_libwine.a
: dummy
122 $(INSTALL_DATA
) libwine.a
$(libdir)
124 libwine.so
.1.0: $(COMMONSUBDIRS
) $(LIBSUBDIRS
) dummy
125 $(CC
) -shared
-Wl
,-soname
,libwine.so
.1 -o
$@
$(COMMONOBJS
) $(LIBOBJS
) $(LDOPTIONS
) $(X_LIBS
) $(XPM_LIB
) $(XLIB
) $(LDLIBS
)
127 install_libwine.so
.1.0: dummy
128 $(INSTALL_DATA
) libwine.so
.1.0 $(libdir)
133 install_programs
: dummy
134 @cd programs
; $(SUBMAKE
) install
137 for i in
$(COMMONSUBDIRS
) $(LIBSUBDIRS
) $(EMUSUBDIRS
); do \
138 (cd
$$i; $(MAKE
) depend
) || exit
1; \
142 etags
`find . -name '*.[chS]' -print`
145 for i in
$(ALLSUBDIRS
); do
(cd
$$i; $(MAKE
) clean) || exit
1; done
146 $(RM
) *.o \
#*\# *~ *.bak *.orig *.rej *.flc
147 $(RM
) wine wine.sym libwine.a libwine.so
.1.0 TAGS
148 (cd
include; $(RM
) *.o \
#*\# *~ *.bak *.orig *.rej *.flc)
151 $(RM
) config.
* Make.rules
include/config.h
152 $(RM
) `find . \( -name Makefile -o -size 0 \) -print`
154 configure
: configure.in
157 include/config.h.in
: configure.in
include/acconfig.h
158 autoheader
-l
include