Skip to content
Snippets Groups Projects
Commit d0edc5fe authored by Alexandre Julliard's avatar Alexandre Julliard
Browse files

Moved dll-specific make rules to a separate Makedll.rules file.

parent f53aba8a
No related merge requests found
Showing with 120 additions and 144 deletions
......@@ -36,14 +36,11 @@ LN_S = @LN_S@
DIVINCL = -I$(SRCDIR) -I. -I$(TOPSRCDIR)/include -I$(TOPOBJDIR)/include
ALLCFLAGS = $(DIVINCL) $(CFLAGS) $(DEFS) $(OPTIONS) $(X_CFLAGS)
LDCOMBINE = ld -r
SONAME = lib$(MODULE).so
LDSHARED = @LDSHARED@
AR = ar rc
RM = rm -f
MV = mv
MKDIR = mkdir -p
C2MAN = @C2MAN@
LDCONFIG = @LDCONFIG@
MANSPECS = -w $(TOPSRCDIR)/relay32/gdi32.spec \
-w $(TOPSRCDIR)/relay32/user32.spec \
-w $(TOPSRCDIR)/relay32/comctl32.spec \
......@@ -174,6 +171,10 @@ DLLS = \
.PHONY: all install uninstall clean distclean depend dummy
# 'all' target first in case the enclosing Makefile didn't define any target
all: Makefile
# Rule to rebuild the resource compiler
$(WRC) check_wrc:
......@@ -199,56 +200,12 @@ $(WINESTUB) check_winestub:
$(MODULE).o: $(OBJS) Makefile.in $(TOPSRCDIR)/Make.rules.in
$(LDCOMBINE) $(OBJS) -o $(MODULE).o
lib$(MODULE).so.$(SOVERSION): $(OBJS) Makefile.in $(TOPSRCDIR)/Make.rules.in
$(LDSHARED) $(OBJS) -o $@
lib$(MODULE).so: lib$(MODULE).so.$(SOVERSION)
$(RM) $@
$(LN_S) lib$(MODULE).so.$(SOVERSION) $@
lib$(MODULE).a: $(OBJS) Makefile.in $(TOPSRCDIR)/Make.rules.in
$(RM) $@
$(AR) $@ $(OBJS)
$(RANLIB) $@
# Rules for makefile
Makefile: Makefile.in $(TOPSRCDIR)/configure
@echo Makefile is older than $?, please rerun $(TOPSRCDIR)/configure
@exit 1
all: Makefile
# Rules for checking that no imports are missing
IMPORTLIBS = $(IMPORTS:%=$(DLLDIR)/lib%.$(LIBEXT))
checklink_so checklink_a: lib$(MODULE).$(LIBEXT) $(IMPORTLIBS)
$(CC) -o checklink $(TOPSRCDIR)/library/checklink.c -L. -l$(MODULE) -L$(DLLDIR) $(IMPORTS:%=-l%) -L$(TOPOBJDIR) -lwine $(LDOPTIONS) $(X_LIBS) $(XLIB) $(LIBS) && $(RM) checklink
checklink:: $(LIBEXT:%=checklink_%)
$(IMPORTLIBS): dummy
@cd $(DLLDIR) && $(MAKE) `basename $@`
# Rules for installation
install_so: lib$(MODULE).so.$(SOVERSION)
[ -d $(libdir) ] || $(MKDIR) $(libdir)
$(INSTALL_PROGRAM) lib$(MODULE).so.$(SOVERSION) $(libdir)/lib$(MODULE).so.$(SOVERSION)
cd $(libdir) && $(RM) lib$(MODULE).so && $(LN_S) lib$(MODULE).so.$(SOVERSION) lib$(MODULE).so
install_a: lib$(MODULE).a
[ -d $(libdir) ] || $(MKDIR) $(libdir)
$(INSTALL_DATA) lib$(MODULE).a $(libdir)/lib$(MODULE).a
uninstall_so uninstall_a:
cd $(libdir) && $(RM) lib$(MODULE).so lib$(MODULE).so.$(SOVERSION) lib$(MODULE).a
install:: $(LIBEXT:%=install_%)
uninstall:: $(LIBEXT:%=uninstall_%)
# Rules for auto documentation
man: $(C_SRCS)
......@@ -281,6 +238,8 @@ $(SPEC_SRCS:.spec=.spec.c): $(BUILD) $(TOPSRCDIR)/include/builtin16.h $(TOPSRCDI
$(GLUE:.c=.glue.c): $(BUILD) $(TOPSRCDIR)/include/builtin16.h $(TOPSRCDIR)/include/builtin32.h
$(RC_SRCS:.rc=.s): $(WRC)
depend:: $(MAKEDEP) $(C_SRCS) $(RC_SRCS) $(EXTRA_SRCS)
$(MAKEDEP) $(DIVINCL) -C$(SRCDIR) $(C_SRCS) $(RC_SRCS) $(EXTRA_SRCS)
......
......@@ -17,8 +17,11 @@ TOPOBJDIR = .
SRCDIR = @srcdir@
VPATH = @srcdir@
LIBEXT = @LIBEXT@
LDSHARED = @LDSHARED@
LDCONFIG = @LDCONFIG@
MODULE = wine
SOVERSION = 1.0
SONAME = libwine.so
TOOLSUBDIRS = \
tools \
......@@ -176,13 +179,22 @@ wine wine.sym: lib$(MODULE).$(LIBEXT) $(DLLOBJS) $(EMUOBJS)
llib-lwine.ln : $(LIBLINTS) $(X11LINTS)
$(LINT) $(ALLLINTFLAGS) -owine $(LIBLINTS) $(X11LINTS)
install_so: lib$(MODULE).so.$(SOVERSION)
[ -d $(libdir) ] || $(MKDIR) $(libdir)
$(INSTALL_PROGRAM) lib$(MODULE).so.$(SOVERSION) $(libdir)/lib$(MODULE).so.$(SOVERSION)
cd $(libdir) && $(RM) lib$(MODULE).so && $(LN_S) lib$(MODULE).so.$(SOVERSION) lib$(MODULE).so
install_a: lib$(MODULE).a
[ -d $(libdir) ] || $(MKDIR) $(libdir)
$(INSTALL_DATA) lib$(MODULE).a $(libdir)/lib$(MODULE).a
install_wine: wine
[ -d $(bindir) ] || $(MKDIR) $(bindir)
[ -d $(libdir) ] || $(MKDIR) $(libdir)
[ -f wine.sym ] && $(INSTALL_DATA) wine.sym $(libdir)/wine.sym
$(INSTALL_PROGRAM) wine $(bindir)/wine
install:: $(PROGRAMS) $(EMU_TARGET:%=install_%)
install:: $(PROGRAMS) $(EMU_TARGET:%=install_%) $(LIBEXT:%=install_%)
[ -d $(bindir) ] || $(MKDIR) $(bindir)
$(INSTALL_PROGRAM) server/wineserver $(bindir)/wineserver
$(INSTALL_PROGRAM) windows/x11drv/wineclipsrv $(bindir)/wineclipsrv
......@@ -192,6 +204,20 @@ uninstall::
cd $(libdir) && $(RM) libwine.a libwine.so libwine.so.$(SOVERSION) wine.sym
cd $(bindir) && $(RM) wine wineserver wineclipsrv dosmod
lib$(MODULE).so.$(SOVERSION): $(OBJS) Makefile.in Make.rules.in
$(LDSHARED) $(OBJS) -o $@
lib$(MODULE).so: lib$(MODULE).so.$(SOVERSION)
$(RM) $@ && $(LN_S) lib$(MODULE).so.$(SOVERSION) $@
lib$(MODULE).a: $(OBJS) Makefile.in Make.rules.in
$(RM) $@
$(AR) $@ $(OBJS)
$(RANLIB) $@
checklink::
$(CC) -o checklink $(TOPSRCDIR)/library/checklink.c -L. -lwine $(LDOPTIONS) $(X_LIBS) $(XLIB) $(LIBS) && $(RM) checklink
$(X11OBJS) $(EMUOBJS) $(LIBOBJS) $(DLLOBJS) $(PROGRAMS): $(TOOLSUBDIRS) dummy
@cd `dirname $@` && $(MAKE) `basename $@`
......@@ -237,7 +263,7 @@ clean::
$(RM) wine wine.sym libwine.so.1.0 TAGS .#*
distclean: clean
$(RM) config.* Make.rules include/config.h documentation/wine.man documentation/wine.conf.man
$(RM) config.* Make.rules dlls/Makedll.rules include/config.h documentation/wine.man documentation/wine.conf.man
$(RM) `find . \( -name Makefile -o -size 0 \) -print`
# We depend on configure above for checks, so we better don't use this rule.
......
......@@ -6067,6 +6067,9 @@ fi
MAKE_RULES=Make.rules
MAKE_DLL_RULES=dlls/Makedll.rules
trap '' 1 2 15
cat > confcache <<\EOF
# This file is a shell script that caches the results of configure
......@@ -6174,6 +6177,7 @@ Makefile
console/Makefile
controls/Makefile
debugger/Makefile
dlls/Makedll.rules
dlls/Makefile
dlls/advapi32/Makefile
dlls/avifil32/Makefile
......@@ -6341,6 +6345,8 @@ s%@ALLOCA@%$ALLOCA%g
s%@GCC_NO_BUILTIN@%$GCC_NO_BUILTIN%g
/@MAKE_RULES@/r $MAKE_RULES
s%@MAKE_RULES@%%g
/@MAKE_DLL_RULES@/r $MAKE_DLL_RULES
s%@MAKE_DLL_RULES@%%g
CEOF
EOF
......@@ -6387,6 +6393,7 @@ Makefile
console/Makefile
controls/Makefile
debugger/Makefile
dlls/Makedll.rules
dlls/Makefile
dlls/advapi32/Makefile
dlls/avifil32/Makefile
......
......@@ -930,12 +930,16 @@ dnl **** Generate output files ****
MAKE_RULES=Make.rules
AC_SUBST_FILE(MAKE_RULES)
MAKE_DLL_RULES=dlls/Makedll.rules
AC_SUBST_FILE(MAKE_DLL_RULES)
AC_OUTPUT([
Make.rules
Makefile
console/Makefile
controls/Makefile
debugger/Makefile
dlls/Makedll.rules
dlls/Makefile
dlls/advapi32/Makefile
dlls/avifil32/Makefile
......
Makedll.rules
Makefile
# Global rules for building dlls -*-Makefile-*-
#
# Each individual makefile should define the following variables:
# MODULE : name of the main module being built
# SOVERSION : version of the .so file
# IMPORTS : dlls to import (optional)
#
# plus all variables required by the global Make.rules.in
#
DEFS = @DLLFLAGS@ -D__WINE__
LIBEXT = @LIBEXT@
LDSHARED = @LDSHARED@
SONAME = lib$(MODULE).so
IMPORTLIBS = $(IMPORTS:%=$(DLLDIR)/lib%.$(LIBEXT))
all: lib$(MODULE).$(LIBEXT)
@MAKE_RULES@
lib$(MODULE).so.$(SOVERSION): $(OBJS) Makefile.in $(TOPSRCDIR)/Make.rules.in
$(LDSHARED) $(OBJS) -o $@
lib$(MODULE).so: lib$(MODULE).so.$(SOVERSION)
$(RM) $@ && $(LN_S) lib$(MODULE).so.$(SOVERSION) $@
lib$(MODULE).a: $(OBJS) Makefile.in $(TOPSRCDIR)/Make.rules.in
$(RM) $@
$(AR) $@ $(OBJS)
$(RANLIB) $@
# Rules for checking that no imports are missing
IMPORTLIBS = $(IMPORTS:%=$(DLLDIR)/lib%.$(LIBEXT))
checklink:: lib$(MODULE).$(LIBEXT) $(IMPORTLIBS)
$(CC) -o checklink $(TOPSRCDIR)/library/checklink.c -L. -l$(MODULE) -L$(DLLDIR) $(IMPORTS:%=-l%) -L$(TOPOBJDIR) -lwine $(LDOPTIONS) $(X_LIBS) $(XLIB) $(LIBS) && $(RM) checklink
$(IMPORTLIBS): dummy
@cd $(DLLDIR) && $(MAKE) `basename $@`
# Rules for installation
.PHONY: install_so install_a
install_so: lib$(MODULE).so.$(SOVERSION)
[ -d $(libdir) ] || $(MKDIR) $(libdir)
$(INSTALL_PROGRAM) lib$(MODULE).so.$(SOVERSION) $(libdir)/lib$(MODULE).so.$(SOVERSION)
cd $(libdir) && $(RM) lib$(MODULE).so && $(LN_S) lib$(MODULE).so.$(SOVERSION) lib$(MODULE).so
install_a: lib$(MODULE).a
[ -d $(libdir) ] || $(MKDIR) $(libdir)
$(INSTALL_DATA) lib$(MODULE).a $(libdir)/lib$(MODULE).a
install:: $(LIBEXT:%=install_%)
uninstall::
cd $(libdir) && $(RM) lib$(MODULE).so lib$(MODULE).so.$(SOVERSION) lib$(MODULE).a
clean::
$(RM) lib$(MODULE).so.$(SOVERSION)
......@@ -19,7 +19,5 @@ all: check_wrc $(MODULE).o
@MAKE_RULES@
$(RC_SRCS:.rc=.s): $(WRC)
### Dependencies:
DEFS = @DLLFLAGS@ -D__WINE__
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
LIBEXT = @LIBEXT@
MODULE = avifil32
SOVERSION = 1.0
IMPORTS = msvfw32 winmm
......@@ -13,12 +11,7 @@ SPEC_SRCS = avifil32.spec avifile.spec
C_SRCS = \
avifile.c
all: lib$(MODULE).$(LIBEXT)
@MAKE_RULES@
clean::
$(RM) lib$(MODULE).$(LIBEXT).$(SOVERSION)
@MAKE_DLL_RULES@
### Dependencies:
DEFS = @DLLFLAGS@ -D__WINE__
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
LIBEXT = @LIBEXT@
MODULE = comctl32
SOVERSION = 1.0
IMPORTS = winmm
......@@ -41,13 +39,8 @@ C_SRCS = \
RC_SRCS= \
rsrc.rc
all: check_wrc lib$(MODULE).$(LIBEXT)
@MAKE_DLL_RULES@
@MAKE_RULES@
$(RC_SRCS:.rc=.s): $(WRC)
clean::
$(RM) lib$(MODULE).$(LIBEXT).$(SOVERSION)
all: check_wrc
### Dependencies:
DEFS = @DLLFLAGS@ -D__WINE__
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
LIBEXT = @LIBEXT@
MODULE = comdlg32
SOVERSION = 1.0
IMPORTS = shell32 ole32 comctl32 winspool winmm
......@@ -27,13 +25,8 @@ C_SRCS = \
RC_SRCS= \
rsrc.rc
all: check_wrc lib$(MODULE).$(LIBEXT)
@MAKE_DLL_RULES@
@MAKE_RULES@
$(RC_SRCS:.rc=.s): $(WRC)
clean::
$(RM) lib$(MODULE).$(LIBEXT).$(SOVERSION)
all: check_wrc
### Dependencies:
DEFS = @DLLFLAGS@ -D__WINE__
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
LIBEXT = @LIBEXT@
MODULE = dciman32
SOVERSION = 1.0
SPEC_SRCS = dciman32.spec
all: lib$(MODULE).$(LIBEXT)
@MAKE_RULES@
clean::
$(RM) lib$(MODULE).$(LIBEXT).$(SOVERSION)
@MAKE_DLL_RULES@
### Dependencies:
......@@ -17,7 +17,5 @@ all: $(MODULE).o
@MAKE_RULES@
$(RC_SRCS:.rc=.s): $(WRC)
### Dependencies:
DEFS = @DLLFLAGS@ -D__WINE__
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
LIBEXT = @LIBEXT@
MODULE = dplayx
SOVERSION = 1.0
IMPORTS = ole32
......@@ -16,12 +14,8 @@ C_SRCS = dplay.c \
dplayx_main.c \
dplayx_global.c
all: lib$(MODULE).$(LIBEXT)
@MAKE_RULES@
clean::
$(RM) lib$(MODULE).$(LIBEXT).$(SOVERSION)
@MAKE_DLL_RULES@
### Dependencies:
DEFS = @DLLFLAGS@ -D__WINE__
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
LIBEXT = @LIBEXT@
MODULE = dsound
SOVERSION = 1.0
......@@ -13,12 +11,7 @@ SPEC_SRCS = \
C_SRCS = \
dsound_main.c
all: lib$(MODULE).$(LIBEXT)
@MAKE_RULES@
clean::
$(RM) lib$(MODULE).$(LIBEXT).$(SOVERSION)
@MAKE_DLL_RULES@
### Dependencies:
DEFS = @DLLFLAGS@ -D__WINE__
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
LIBEXT = @LIBEXT@
MODULE = icmp
SOVERSION = 1.0
......@@ -11,12 +9,7 @@ SPEC_SRCS = icmp.spec
C_SRCS = icmp_main.c
all: lib$(MODULE).$(LIBEXT)
@MAKE_RULES@
clean::
$(RM) lib$(MODULE).$(LIBEXT).$(SOVERSION)
@MAKE_DLL_RULES@
### Dependencies:
......
DEFS = @DLLFLAGS@ -D__WINE__
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
LIBEXT = @LIBEXT@
MODULE = imagehlp
SOVERSION = 1.0
......@@ -18,12 +16,7 @@ C_SRCS = \
modify.c \
symbol.c
all: lib$(MODULE).$(LIBEXT)
@MAKE_RULES@
clean::
$(RM) lib$(MODULE).$(LIBEXT).$(SOVERSION)
@MAKE_DLL_RULES@
### Dependencies:
DEFS = @DLLFLAGS@ -D__WINE__
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
LIBEXT = @LIBEXT@
MODULE = imm32
SOVERSION = 1.0
......@@ -12,11 +10,6 @@ SPEC_SRCS = imm32.spec
C_SRCS = \
imm.c
all: lib$(MODULE).$(LIBEXT)
@MAKE_RULES@
clean::
$(RM) lib$(MODULE).$(LIBEXT).$(SOVERSION)
@MAKE_DLL_RULES@
### Dependencies:
DEFS = @DLLFLAGS@ -D__WINE__
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
LIBEXT = @LIBEXT@
MODULE = lz32
SOVERSION = 1.0
......@@ -12,12 +10,7 @@ SPEC_SRCS = lz32.spec lzexpand.spec
C_SRCS = \
lzexpand_main.c
all: lib$(MODULE).$(LIBEXT)
@MAKE_RULES@
clean::
$(RM) lib$(MODULE).$(LIBEXT).$(SOVERSION)
@MAKE_DLL_RULES@
### Dependencies:
......@@ -17,7 +17,5 @@ all: $(MODULE).o
@MAKE_RULES@
$(RC_SRCS:.rc=.s): $(WRC)
### Dependencies:
DEFS = @DLLFLAGS@ -D__WINE__
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
LIBEXT = @LIBEXT@
MODULE = msacm
SOVERSION = 1.0
......@@ -12,12 +10,7 @@ SPEC_SRCS = msacm.spec
C_SRCS = \
msacm_main.c
all: lib$(MODULE).$(LIBEXT)
@MAKE_RULES@
clean::
$(RM) lib$(MODULE).$(LIBEXT).$(SOVERSION)
@MAKE_DLL_RULES@
### Dependencies:
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment