# This Makefile understands the following targets: # # all (default): build wine # clean: remove all intermediate files # distclean: also remove all files created by configure # depend: create the dependencies # etags: Create a TAGS file for Emacs. # # Author: Michael Patra # # First some useful definitions SHELL = /bin/sh CC = @CC@ CFLAGS = @CFLAGS@ OPTIONS = @OPTIONS@ X_LIBS = @X_LIBS@ TOPSRC = @top_srcdir@ XPM_LIB = -lXpm XLIB = @X_PRE_LIBS@ -lXext -lX11 @X_EXTRA_LIBS@ LDLIBS = @LDLIBS@ AR = ar rc RANLIB = @RANLIB@ RM = rm -f SUBMAKE = $(MAKE) 'CC=$(CC)' 'CFLAGS=$(CFLAGS)' 'OPTIONS=$(OPTIONS)' @SET_MAKE@ # Installation infos INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ prefix = @prefix@ exec_prefix = @exec_prefix@ bindir = @bindir@ libdir = @libdir@ mandir = @mandir@/man1 manext = .1 # Main target to build MAIN_TARGET = @MAIN_TARGET@ COMMONSUBDIRS = \ rc \ controls \ files \ graphics \ graphics/metafiledrv \ graphics/x11drv \ ipc \ loader \ memory \ misc \ msdos \ multimedia \ objects \ resources \ scheduler \ win32 \ windows EMUSUBDIRS = \ tools \ debugger \ graphics/win16drv \ if1632 \ miscemu LIBSUBDIRS = library PROGSUBDIRS = libtest programs ALLSUBDIRS = $(COMMONSUBDIRS) $(EMUSUBDIRS) $(LIBSUBDIRS) $(PROGSUBDIRS) COMMONOBJS = \ controls/controls.o \ files/files.o \ graphics/graphics.o \ graphics/metafiledrv/metafiledrv.o \ graphics/x11drv/x11drv.o \ ipc/ipc.o \ loader/loader.o \ memory/memory.o \ misc/misc.o \ msdos/msdos.o \ multimedia/multimedia.o \ objects/objects.o \ resources/resources.o \ scheduler/scheduler.o \ win32/win32.o \ windows/windows.o EMUOBJS = \ debugger/debugger.o \ graphics/win16drv/win16drv.o \ if1632/if1632.o \ miscemu/miscemu.o LIBOBJS = library/library.o all: $(MAIN_TARGET) install: install_$(MAIN_TARGET) wine wine.sym: $(COMMONSUBDIRS) $(EMUSUBDIRS) dummy $(CC) -o wine $(COMMONOBJS) $(EMUOBJS) $(LDOPTIONS) $(X_LIBS) $(XPM_LIB) $(XLIB) $(LDLIBS) nm -n wine | grep -v _compiled >wine.sym install_wine: dummy $(INSTALL_PROGRAM) wine $(bindir)/wine $(INSTALL_DATA) wine.man $(mandir)/wine$(manext) libwine.a: $(COMMONSUBDIRS) $(LIBSUBDIRS) dummy $(RM) $@ $(AR) $@ $(COMMONOBJS) $(LIBOBJS) $(RANLIB) $@ install_libwine.a: dummy $(INSTALL_DATA) libwine.a $(libdir) libwine.so.1.0: $(COMMONSUBDIRS) $(LIBSUBDIRS) dummy $(CC) -shared -Wl,-soname,libwine.so.1 -o$@ $(COMMONOBJS) $(LIBOBJS) $(LDOPTIONS) $(X_LIBS) $(XPM_LIB) $(XLIB) $(LDLIBS) install_libwine.so.1.0: dummy $(INSTALL_DATA) libwine.so.1.0 $(libdir) $(ALLSUBDIRS): dummy @cd $@; $(SUBMAKE) install_programs: dummy @cd programs; $(SUBMAKE) install depend: dummy for i in $(COMMONSUBDIRS) $(LIBSUBDIRS) $(EMUSUBDIRS); do \ (cd $$i; $(MAKE) depend) || exit 1; \ done etags: etags `find . -name '*.[chS]' -print` clean: for i in $(ALLSUBDIRS); do (cd $$i; $(MAKE) clean) || exit 1; done $(RM) *.o \#*\# *~ *.bak *.orig *.rej *.flc $(RM) wine wine.sym libwine.a libwine.so.1.0 TAGS (cd include; $(RM) *.o \#*\# *~ *.bak *.orig *.rej *.flc) distclean: clean $(RM) config.* Make.rules include/config.h $(RM) `find . \( -name Makefile -o -size 0 \) -print` configure: configure.in autoconf include/config.h.in: configure.in include/acconfig.h autoheader -l include dummy: