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

Moved imports specification from the .spec into the Makefile so that

it can be used on platforms that don't build a .spec.c file.
parent aac0dd7a
No related branches found
No related tags found
No related merge requests found
Showing
with 31 additions and 55 deletions
......@@ -16,6 +16,8 @@
# GLUE : C sources for which glue code needs to be generated
# EXTRA_SRCS : extra source files for make depend
# EXTRA_OBJS : extra object files
# IMPORTS : dlls to import
# DELAYIMPORTS : dlls to import in delayed mode
# SUBDIRS : subdirectories that contain a Makefile
# EXTRASUBDIRS : subdirectories that do not contain a Makefile
# PLTESTS : Perl test scripts
......@@ -162,7 +164,7 @@ $(MODULE).tmp.o: $(OBJS) Makefile.in
# Rule for main module spec file
$(MAINSPEC).c: $(MAINSPEC) $(RC_SRCS:.rc=.res) $(SYMBOLFILE) $(WINEBUILD)
$(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L$(DLLDIR) $(SYMBOLFILE:%=-sym %) -o $@ -spec $(SRCDIR)/$(MAINSPEC)
$(LDPATH) $(WINEBUILD) @DLLFLAGS@ $(SYMBOLFILE:%=-sym %) -o $@ -spec $(SRCDIR)/$(MAINSPEC) -L$(DLLDIR) $(DELAYIMPORTS:%=-dl%) $(IMPORTS:%=-l%)
# Rule to rebuild the resource compiler
......@@ -282,7 +284,7 @@ $(TESTPROGRAM).tmp.o: $(TESTOBJS)
-strip --strip-unneeded $@
$(TESTPROGRAM).spec.c: $(TESTPROGRAM).spec $(TESTPROGRAM).tmp.o $(WINEBUILD)
$(LDPATH) $(WINEBUILD) @DLLFLAGS@ -L$(DLLDIR) -sym $(TESTPROGRAM).tmp.o -o $@ -spec $(SRCDIR)/$(TESTPROGRAM).spec
$(LDPATH) $(WINEBUILD) @DLLFLAGS@ -sym $(TESTPROGRAM).tmp.o -o $@ -spec $(SRCDIR)/$(TESTPROGRAM).spec -L$(DLLDIR) $(TESTIMPORTS:%=-l%)
# Misc. rules
......
......@@ -21,7 +21,7 @@ VPATH = @srcdir@
LIBEXT = @LIBEXT@
LDCONFIG = @LDCONFIG@
MODULE = wine
IMPORTS = ntdll.dll
LDIMPORTS = ntdll.dll
# Stand-alone programs
PROGRAMS = \
......@@ -89,8 +89,8 @@ Make.rules: Make.rules.in configure
@echo $? is newer than 'Make.rules', please rerun ./configure!
@exit 1
wine: $(EMUOBJS) $(IMPORTS:%=lib%.$(LIBEXT)) library/libwine.$(LIBEXT) unicode/libwine_unicode.$(LIBEXT)
$(CC) -o wine $(EMUOBJS) -L. $(IMPORTS:%=-l%) $(LIBWINE) $(LIBUNICODE) $(LIBS) $(LDFLAGS)
wine: $(EMUOBJS) $(LDIMPORTS:%=lib%.$(LIBEXT)) library/libwine.$(LIBEXT) unicode/libwine_unicode.$(LIBEXT)
$(CC) -o wine $(EMUOBJS) -L. $(LDIMPORTS:%=-l%) $(LIBWINE) $(LIBUNICODE) $(LIBS) $(LDFLAGS)
install_wine: dummy
[ -d $(bindir) ] || $(MKDIR) $(bindir)
......@@ -146,7 +146,7 @@ server tools: $(LIBRARIES)
dlls: tools $(LIBRARIES)
checklink::
$(CC) -o checklink $(TOPSRCDIR)/library/checklink.c $(LIBWINE) $(LIBS) && $(RM) checklink
$(CC) -o checklink $(TOPSRCDIR)/library/checklink.c && $(RM) checklink
checklink::
@cd dlls && $(MAKE) checklink
......
......@@ -4,6 +4,8 @@ TOPOBJDIR = ..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = winedbg
IMPORTS = advapi32.dll kernel32.dll ntdll.dll
DELAYIMPORTS = user32.dll
C_SRCS = \
break.c \
......
......@@ -2,8 +2,3 @@ name winedbg
mode cuiexe
type win32
init DEBUG_main
import -delay user32.dll
import advapi32.dll
import kernel32.dll
import ntdll.dll
......@@ -3,18 +3,19 @@
# Each individual makefile should define the following variables:
# MODULE : name of the main module being built
# ALTNAMES : alternate names for this dll (optional)
# IMPORTS : dlls to import (optional)
# EXTRALIBS : extra libraries to link in (optional)
#
# plus all variables required by the global Make.rules.in
#
DEFS = @DLLFLAGS@ -D__WINE__ $(EXTRADEFS)
DLLEXT = @DLLEXT@
ALTSPECS = $(ALTNAMES:%.dll=%)
SPEC_SRCS = $(ALTSPECS:%=%.spec)
ALL_OBJS = $(MODULE:%.dll=%).spec.o $(OBJS)
ALL_LIBS = $(LIBWINE) $(EXTRALIBS) $(LIBS)
DEFS = @DLLFLAGS@ -D__WINE__ $(EXTRADEFS)
DLLEXT = @DLLEXT@
ALTSPECS = $(ALTNAMES:%.dll=%)
SPEC_SRCS = $(ALTSPECS:%=%.spec)
ALL_OBJS = $(MODULE:%.dll=%).spec.o $(OBJS)
ALL_LIBS = $(LIBWINE) $(EXTRALIBS) $(LIBS)
SPEC_DEF = $(MODULE:%.dll=%).spec.def
TESTIMPORTS = $(MODULE) $(DELAYIMPORTS) $(IMPORTS)
all: $(MODULE)$(DLLEXT)
......@@ -23,17 +24,17 @@ all: $(MODULE)$(DLLEXT)
# Rules for .so files
$(MODULE).so: $(ALL_OBJS) Makefile.in
$(LDSHARED) $(LDDLLFLAGS) $(ALL_OBJS) -o $@ -L$(DLLDIR) $(IMPORTS:%=-l%) $(ALL_LIBS)
$(LDSHARED) $(LDDLLFLAGS) $(ALL_OBJS) -o $@ -L$(DLLDIR) $(LDIMPORTS:%=-l%) $(ALL_LIBS)
# Rules for .dll files
$(MODULE): $(ALL_OBJS) Makefile.in
$(DLLWRAP) $(DLLWRAPFLAGS) --implib $(MODULE:.dll=.a) -o $(MODULE) $(ALL_OBJS) -L$(DLLDIR) $(IMPORTS:%=-l%) $(ALL_LIBS)
$(MODULE): $(ALL_OBJS) $(SPEC_DEF) Makefile.in
$(DLLWRAP) $(DLLWRAPFLAGS) --def $(SPEC_DEF) --implib $(MODULE:.dll=.a) -o $(MODULE) $(ALL_OBJS) -L$(DLLDIR) $(LDIMPORTS:%=-l%) $(ALL_LIBS)
# Rules for checking that no imports are missing
checklink:: $(MODULE)$(DLLEXT)
$(CC) -o checklink $(TOPSRCDIR)/library/checklink.c $(MODULE)$(DLLEXT) $(ALL_LIBS) && $(RM) checklink
$(CC) -o checklink $(TOPSRCDIR)/library/checklink.c $(MODULE)$(DLLEXT) && $(RM) checklink
# Rules for testing
......
......@@ -4,6 +4,7 @@ TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = advapi32.dll
IMPORTS = kernel32.dll ntdll.dll
LDDLLFLAGS = @LDDLLFLAGS@
SYMBOLFILE = $(MODULE).tmp.o
......
name advapi32
type win32
import kernel32.dll
import ntdll.dll
debug_channels (advapi crypt reg)
@ stdcall AbortSystemShutdownA(ptr) AbortSystemShutdownA
......
......@@ -3,6 +3,7 @@ TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = avicap32.dll
IMPORTS = ntdll.dll
LDDLLFLAGS = @LDDLLFLAGS@
SYMBOLFILE = $(MODULE).tmp.o
......
name avicap32
type win32
import ntdll.dll
debug_channels ()
......@@ -3,6 +3,7 @@ TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = avifil32.dll
IMPORTS = msvfw32.dll kernel32.dll ntdll.dll
ALTNAMES = avifile.dll
EXTRALIBS = $(LIBUUID)
......
name avifil32
type win32
import msvfw32.dll
import kernel32.dll
import ntdll.dll
debug_channels (avifile)
@ stub AVIBuildFilter
......
......@@ -4,6 +4,8 @@ TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = comctl32.dll
IMPORTS = user32.dll gdi32.dll advapi32.dll kernel32.dll ntdll.dll
DELAYIMPORTS = winmm.dll
EXTRALIBS = $(LIBUNICODE)
LDDLLFLAGS = @LDDLLFLAGS@
......
......@@ -3,13 +3,6 @@ type win32
init COMCTL32_LibMain
rsrc rsrc.res
import -delay winmm.dll
import user32.dll
import gdi32.dll
import advapi32.dll
import kernel32.dll
import ntdll.dll
debug_channels (animate comboex commctrl datetime header hotkey imagelist ipaddress
listview message monthcal nativefont pager progress propsheet
rebar statusbar tab toolbar tooltips trackbar treeview updown)
......
......@@ -3,6 +3,7 @@ TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = comdlg32.dll
IMPORTS = shell32.dll shlwapi.dll comctl32.dll winspool.drv user32.dll gdi32.dll kernel32.dll ntdll.dll
ALTNAMES = commdlg.dll
EXTRALIBS = $(LIBUUID)
......
......@@ -3,15 +3,6 @@ type win32
init COMDLG32_DllEntryPoint
rsrc rsrc.res
import shell32.dll
import shlwapi.dll
import comctl32.dll
import winspool.drv
import user32.dll
import gdi32.dll
import kernel32.dll
import ntdll.dll
debug_channels (commdlg)
@ stdcall ChooseColorA(ptr) ChooseColorA
......
......@@ -3,6 +3,7 @@ TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = crtdll.dll
IMPORTS = msvcrt.dll kernel32.dll ntdll.dll
EXTRALIBS = $(LIBUNICODE)
LDDLLFLAGS = @LDDLLFLAGS@
......
......@@ -3,10 +3,6 @@ name crtdll
type win32
init CRTDLL_Init
import msvcrt.dll
import kernel32.dll
import ntdll.dll
debug_channels (crtdll)
@ forward ??2@YAPAXI@Z msvcrt.??2@YAPAXI@Z
......
......@@ -4,6 +4,7 @@ TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = crypt32.dll
IMPORTS = advapi32.dll kernel32.dll ntdll.dll
LDDLLFLAGS = @LDDLLFLAGS@
SYMBOLFILE = $(MODULE).tmp.o
......
name crypt32
type win32
import advapi32.dll
import kernel32.dll
import ntdll.dll
debug_channels ()
@ stub CertAddCRLContextToStore
......
......@@ -3,6 +3,7 @@ TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = dciman32.dll
IMPORTS = kernel32.dll ntdll.dll
LDDLLFLAGS = @LDDLLFLAGS@
SYMBOLFILE = $(MODULE).tmp.o
......
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