Fixed make install target to work even when nothing has been compiled

yet.
Added install-lib and install-dev targets to allow partial
installations; moved winemaker.man and winelauncher.in to better fit
in the new install categories.
This commit is contained in:
Alexandre Julliard 2002-06-14 23:48:27 +00:00
parent cceab98642
commit f673b71ece
21 changed files with 266 additions and 102 deletions

View File

@ -20,6 +20,7 @@
# DELAYIMPORTS : dlls to import in delayed mode # DELAYIMPORTS : dlls to import in delayed mode
# SUBDIRS : subdirectories that contain a Makefile # SUBDIRS : subdirectories that contain a Makefile
# EXTRASUBDIRS : subdirectories that do not contain a Makefile # EXTRASUBDIRS : subdirectories that do not contain a Makefile
# INSTALLSUBDIRS : subdirectories to run make install/uninstall into
# PLTESTS : Perl test scripts # PLTESTS : Perl test scripts
# CTESTS : C test sources # CTESTS : C test sources
@ -94,10 +95,10 @@ TESTMAIN = $(TOPOBJDIR)/programs/winetest/wtmain.o
# Installation infos # Installation infos
INSTALL = @INSTALL@ INSTALL = @INSTALL@ $(INSTALL_FLAGS)
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(INSTALL_PROGRAM_FLAGS)
INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ $(INSTALL_SCRIPT_FLAGS)
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@ $(INSTALL_DATA_FLAGS)
prefix = @prefix@ prefix = @prefix@
exec_prefix = @exec_prefix@ exec_prefix = @exec_prefix@
bindir = @bindir@ bindir = @bindir@
@ -157,8 +158,6 @@ LINTS = $(C_SRCS:.c=.ln)
.pl.ok: .pl.ok:
$(RUNTEST) $(RUNTESTFLAGS) $< && touch $@ $(RUNTEST) $(RUNTESTFLAGS) $< && touch $@
.PHONY: all install uninstall clean distclean depend dummy check test testclean
# 'all' target first in case the enclosing Makefile didn't define any target # 'all' target first in case the enclosing Makefile didn't define any target
all: Makefile all: Makefile
@ -166,6 +165,8 @@ all: Makefile
filter: filter:
@$(TOPSRCDIR)/tools/winapi/make_filter --make $(MAKE) all @$(TOPSRCDIR)/tools/winapi/make_filter --make $(MAKE) all
.PHONY: all filter
# Rule for main module intermediate object # Rule for main module intermediate object
$(MODULE).tmp.o: $(SPEC_SRCS:.spec=.spec.o) $(OBJS) Makefile.in $(MODULE).tmp.o: $(SPEC_SRCS:.spec=.spec.o) $(OBJS) Makefile.in
@ -217,6 +218,8 @@ $(SUBDIRS:%=%/__doc_html__): dummy
doc-html: $(C_SRCS) $(SUBDIRS:%=%/__doc_html__) doc-html: $(C_SRCS) $(SUBDIRS:%=%/__doc_html__)
if [ -n "$(C_SRCS)" ]; then $(MKINSTALLDIRS) $(TOPOBJDIR)/documentation/html; for i in $(C_SRCS); do $(C2MAN) -L -o $(TOPOBJDIR)/documentation/html -Th -iwindows.h $(DIVINCL) -D__WINE__ $(MANSPECS) $$i; done; fi if [ -n "$(C_SRCS)" ]; then $(MKINSTALLDIRS) $(TOPOBJDIR)/documentation/html; for i in $(C_SRCS); do $(C2MAN) -L -o $(TOPOBJDIR)/documentation/html -Th -iwindows.h $(DIVINCL) -D__WINE__ $(MANSPECS) $$i; done; fi
.PHONY: man doc-html $(SUBDIRS:%=%/__man__) $(SUBDIRS:%=%/__doc_html__)
# Rule for linting # Rule for linting
$(MODULE).ln : $(LINTS) $(MODULE).ln : $(LINTS)
@ -232,9 +235,11 @@ lint:: $(MODULE).ln
# Rules for Windows API checking # Rules for Windows API checking
winapi_check:: winapi_check:: dummy
$(WINAPI_CHECK) $(WINAPI_CHECK_FLAGS) $(WINAPI_CHECK_EXTRA_FLAGS) . $(WINAPI_CHECK) $(WINAPI_CHECK_FLAGS) $(WINAPI_CHECK_EXTRA_FLAGS) .
.PHONY: winapi_check
# Rules for dependencies # Rules for dependencies
$(SUBDIRS:%=%/__depend__): $(MAKEDEP) dummy $(SUBDIRS:%=%/__depend__): $(MAKEDEP) dummy
@ -243,6 +248,8 @@ $(SUBDIRS:%=%/__depend__): $(MAKEDEP) dummy
depend: $(MAKEDEP) $(SUBDIRS:%=%/__depend__) depend: $(MAKEDEP) $(SUBDIRS:%=%/__depend__)
$(MAKEDEP) $(DIVINCL) -C$(SRCDIR) $(C_SRCS) $(RC_SRCS) $(RC_SRCS16) $(MC_SRCS) $(EXTRA_SRCS) $(CTESTS) $(MAKEDEP) $(DIVINCL) -C$(SRCDIR) $(C_SRCS) $(RC_SRCS) $(RC_SRCS16) $(MC_SRCS) $(EXTRA_SRCS) $(CTESTS)
.PHONY: depend $(SUBDIRS:%=%/__depend__)
# Rules for cleaning # Rules for cleaning
$(SUBDIRS:%=%/__clean__): dummy $(SUBDIRS:%=%/__clean__): dummy
@ -260,14 +267,22 @@ testclean:: $(SUBDIRS:%=%/__testclean__)
clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__) clean:: $(SUBDIRS:%=%/__clean__) $(EXTRASUBDIRS:%=%/__clean__)
$(RM) $(CLEAN_FILES) $(GEN_C_SRCS) $(GEN_ASM_SRCS) $(RC_SRCS:.rc=.res) $(RC_SRCS16:.rc=.res) $(MC_SRCS:.mc=.mc.rc) $(TESTRESULTS) $(TESTLIST) $(TESTPROGRAM) $(PROGRAMS) $(RM) $(CLEAN_FILES) $(GEN_C_SRCS) $(GEN_ASM_SRCS) $(RC_SRCS:.rc=.res) $(RC_SRCS16:.rc=.res) $(MC_SRCS:.mc=.mc.rc) $(TESTRESULTS) $(TESTLIST) $(TESTPROGRAM) $(PROGRAMS)
.PHONY: clean testclean $(SUBDIRS:%=%/__clean__) $(SUBDIRS:%=%/__testclean__) $(EXTRASUBDIRS:%=%/__clean__)
# Rules for installing # Rules for installing
$(SUBDIRS:%=%/__install__): dummy $(INSTALLSUBDIRS:%=%/__install__): dummy
cd `dirname $@` && $(MAKE) install cd `dirname $@` && $(MAKE) install
$(SUBDIRS:%=%/__uninstall__): dummy $(INSTALLSUBDIRS:%=%/__uninstall__): dummy
cd `dirname $@` && $(MAKE) uninstall cd `dirname $@` && $(MAKE) uninstall
install:: $(INSTALLSUBDIRS:%=%/__install__)
uninstall:: $(INSTALLSUBDIRS:%=%/__uninstall__)
.PHONY: install uninstall $(INSTALLSUBDIRS:%=%/__install__) $(INSTALLSUBDIRS:%=%/__uninstall__)
# Rules for testing # Rules for testing
check test:: $(TESTRESULTS) check test:: $(TESTRESULTS)
@ -275,6 +290,8 @@ check test:: $(TESTRESULTS)
$(SUBDIRS:%=%/__test__): dummy $(SUBDIRS:%=%/__test__): dummy
@cd `dirname $@` && $(MAKE) test @cd `dirname $@` && $(MAKE) test
.PHONY: check test $(SUBDIRS:%=%/__test__)
$(PLTESTS:.c=.ok): $(WINETEST) $(PLTESTS:.c=.ok): $(WINETEST)
$(CTESTS:.c=.ok): $(TESTPROGRAM)$(DLLEXT) $(CTESTS:.c=.ok): $(TESTPROGRAM)$(DLLEXT)
@ -317,4 +334,6 @@ $(SUBDIRS): dummy
dummy: dummy:
.PHONY: dummy $(SUBDIRS)
# End of global rules # End of global rules

View File

@ -5,6 +5,8 @@
# distclean: also remove all files created by configure # distclean: also remove all files created by configure
# test: run tests # test: run tests
# testclean: clean test results to force running all tests again # testclean: clean test results to force running all tests again
# install-lib: install libraries needed to run applications
# install-dev: install development environment
# install: install everything # install: install everything
# uninstall: uninstall everything # uninstall: uninstall everything
# depend: create the dependencies # depend: create the dependencies
@ -23,32 +25,39 @@ LDCONFIG = @LDCONFIG@
LDD = @LDD@ LDD = @LDD@
MODULE = none MODULE = none
# Sub-directories containing stand-alone programs # Sub-directories to run make depend/clean into
PROGSUBDIRS = \
server
# Sub-directories containing programs that use some Wine dlls
LIBPROGSUBDIRS = \
miscemu \
programs
# Sub-directories containing libraries (not dlls) to build
LIBSUBDIRS = \
library \
ole \
tsx11 \
unicode
# Sub-directories to run make depend/clean/install into
SUBDIRS = \ SUBDIRS = \
$(LIBPROGSUBDIRS) \
$(LIBSUBDIRS) \
$(PROGSUBDIRS) \
dlls \ dlls \
documentation \ documentation \
include \ include \
library \
miscemu \
ole \
programs \
server \
tools \
tsx11 \
unicode
# Sub-directories to install for install-lib
INSTALLLIBSUBDIRS = \
dlls \
documentation \
library \
miscemu \
programs \
server \
tsx11 \
unicode
# Sub-directories to install for install-dev
INSTALLDEVSUBDIRS = \
include \
ole \
tools tools
INSTALLSUBDIRS = $(INSTALLDEVSUBDIRS) $(INSTALLLIBSUBDIRS)
# Sub-directories to run make test into # Sub-directories to run make test into
TESTSUBDIRS = \ TESTSUBDIRS = \
dlls \ dlls \
@ -57,7 +66,7 @@ TESTSUBDIRS = \
EMUOBJS = \ EMUOBJS = \
miscemu/miscemu.o miscemu/miscemu.o
all: Make.rules $(PROGSUBDIRS) $(LIBPROGSUBDIRS) wine all: Make.rules wine
@echo "Wine build complete." @echo "Wine build complete."
WINAPI_CHECK_EXTRA_FLAGS = --global WINAPI_CHECK_EXTRA_FLAGS = --global
@ -71,7 +80,13 @@ Make.rules: Make.rules.in configure
wine: $(WINEWRAPPER) wine: $(WINEWRAPPER)
$(RM) $@ && $(LN_S) $(WINEWRAPPER) $@ $(RM) $@ && $(LN_S) $(WINEWRAPPER) $@
install:: all $(SUBDIRS:%=%/__install__) # Installation rules
install-lib:: $(INSTALLLIBSUBDIRS:%=%/__install__)
install-dev:: $(INSTALLDEVSUBDIRS:%=%/__install__)
install::
-$(LDCONFIG) -$(LDCONFIG)
@if test -n "`LANG=C $(LDD) $(bindir)/wine|grep not.found`"; \ @if test -n "`LANG=C $(LDD) $(bindir)/wine|grep not.found`"; \
then \ then \
@ -85,17 +100,25 @@ install:: all $(SUBDIRS:%=%/__install__)
echo "*************************************************" ; \ echo "*************************************************" ; \
fi fi
uninstall:: $(SUBDIRS:%=%/__uninstall__) .PHONY: install-lib install-dev
# Dependencies between directories # Dependencies between directories
$(LIBPROGSUBDIRS): tools dlls $(LIBSUBDIRS) all: dlls library miscemu ole programs server tools tsx11 unicode
dlls: library ole tools tsx11 unicode
server: library tools unicode
miscemu programs: dlls library ole tools tsx11 unicode
tools: library unicode
$(PROGSUBDIRS): tools $(LIBSUBDIRS) dlls/__install__: library ole tools tsx11 unicode
server/__install__: library tools unicode
miscemu/__install__ programs/__install__: library ole tools tsx11 unicode dlls/__install__
library/__install__: library
ole/__install__: ole
tools/__install__: tools
unicode/__install__: unicode
dlls: tools $(LIBSUBDIRS) # Test rules
tools: $(LIBSUBDIRS)
checklink:: checklink::
$(CC) -o checklink $(TOPSRCDIR)/library/checklink.c && $(RM) checklink $(CC) -o checklink $(TOPSRCDIR)/library/checklink.c && $(RM) checklink
@ -111,6 +134,10 @@ $(TESTSUBDIRS:%=%/__test__): test_environment
check test:: $(TESTSUBDIRS:%=%/__test__) check test:: $(TESTSUBDIRS:%=%/__test__)
.PHONY: checklink test_environment
# Misc rules
TAGS etags: TAGS etags:
etags `find $(TOPSRCDIR) -name '*.[ch]' -a -not -name '*.spec.c' -a -not -name '*.glue.c' -a -not -name '*.dbg.c' -print` etags `find $(TOPSRCDIR) -name '*.[ch]' -a -not -name '*.spec.c' -a -not -name '*.glue.c' -a -not -name '*.dbg.c' -print`
@ -130,4 +157,6 @@ distclean: clean
$(RM) -r autom4te.cache $(RM) -r autom4te.cache
$(RM) `find . \( -name Makefile -o -size 0 \) -print` $(RM) `find . \( -name Makefile -o -size 0 \) -print`
.PHONY: manpages htmlpages distclean
### Dependencies: ### Dependencies:

View File

@ -113,6 +113,8 @@ SUBDIRS = \
BUILDSUBDIRS = $(BASEDIRS) $(EXTRADIRS) BUILDSUBDIRS = $(BASEDIRS) $(EXTRADIRS)
INSTALLSUBDIRS = $(BUILDSUBDIRS)
# Main target # Main target
@MAKE_RULES@ @MAKE_RULES@
@ -632,6 +634,101 @@ winsock/ws2_32.dll$(DLLEXT): winsock
wsock32/wsock32.dll$(DLLEXT): wsock32 wsock32/wsock32.dll$(DLLEXT): wsock32
x11drv/x11drv.dll$(DLLEXT): x11drv x11drv/x11drv.dll$(DLLEXT): x11drv
# Install dependencies
advapi32/__install__: advapi32.dll$(DLLEXT)
avicap32/__install__: avicap32.dll$(DLLEXT)
avifil32/__install__: avifil32.dll$(DLLEXT)
comcat/__install__: comcat.dll$(DLLEXT)
comctl32/__install__: comctl32.dll$(DLLEXT)
commdlg/__install__: comdlg32.dll$(DLLEXT)
crtdll/__install__: crtdll.dll$(DLLEXT)
crypt32/__install__: crypt32.dll$(DLLEXT)
dciman32/__install__: dciman32.dll$(DLLEXT)
ddraw/__install__: ddraw.dll$(DLLEXT)
devenum/__install__: devenum.dll$(DLLEXT)
dinput/__install__: dinput.dll$(DLLEXT)
dinput8/__install__: dinput8.dll$(DLLEXT)
dplay/__install__: dplay.dll$(DLLEXT)
dplayx/__install__: dplayx.dll$(DLLEXT)
dsound/__install__: dsound.dll$(DLLEXT)
gdi/__install__: gdi32.dll$(DLLEXT)
glu32/__install__: glu32.dll$(DLLEXT)
icmp/__install__: icmp.dll$(DLLEXT)
msacm/imaadp32/__install__: imaadp32.acm$(DLLEXT)
imagehlp/__install__: imagehlp.dll$(DLLEXT)
imm32/__install__: imm32.dll$(DLLEXT)
winmm/joystick/__install__: joystick.drv$(DLLEXT)
kernel/__install__: kernel32.dll$(DLLEXT)
lzexpand/__install__: lz32.dll$(DLLEXT)
mapi32/__install__: mapi32.dll$(DLLEXT)
winmm/mcianim/__install__: mcianim.drv$(DLLEXT)
winmm/mciavi/__install__: mciavi.drv$(DLLEXT)
winmm/mcicda/__install__: mcicda.drv$(DLLEXT)
winmm/mciseq/__install__: mciseq.drv$(DLLEXT)
winmm/mciwave/__install__: mciwave.drv$(DLLEXT)
winmm/midimap/__install__: midimap.drv$(DLLEXT)
mpr/__install__: mpr.dll$(DLLEXT)
winmm/wavemap/__install__: msacm.drv$(DLLEXT)
msacm/__install__: msacm32.dll$(DLLEXT)
msacm/msadp32/__install__: msadp32.acm$(DLLEXT)
msdmo/__install__: msdmo.dll$(DLLEXT)
msacm/msg711/__install__: msg711.acm$(DLLEXT)
msimg32/__install__: msimg32.dll$(DLLEXT)
msisys/__install__: msisys.ocx$(DLLEXT)
msnet32/__install__: msnet32.dll$(DLLEXT)
msrle32/__install__: msrle32.dll$(DLLEXT)
msvcrt/__install__: msvcrt.dll$(DLLEXT)
msvcrt20/__install__: msvcrt20.dll$(DLLEXT)
msvideo/__install__: msvfw32.dll$(DLLEXT)
netapi32/__install__: netapi32.dll$(DLLEXT)
ntdll/__install__: ntdll.dll$(DLLEXT)
odbc32/__install__: odbc32.dll$(DLLEXT)
ole32/__install__: ole32.dll$(DLLEXT)
oleaut32/__install__: oleaut32.dll$(DLLEXT)
olecli/__install__: olecli32.dll$(DLLEXT)
oledlg/__install__: oledlg.dll$(DLLEXT)
olepro32/__install__: olepro32.dll$(DLLEXT)
olesvr/__install__: olesvr32.dll$(DLLEXT)
opengl32/__install__: opengl32.dll$(DLLEXT)
psapi/__install__: psapi.dll$(DLLEXT)
qcap/__install__: qcap.dll$(DLLEXT)
quartz/__install__: quartz.dll$(DLLEXT)
rasapi32/__install__: rasapi32.dll$(DLLEXT)
richedit/__install__: riched32.dll$(DLLEXT)
rpcrt4/__install__: rpcrt4.dll$(DLLEXT)
serialui/__install__: serialui.dll$(DLLEXT)
setupapi/__install__: setupapi.dll$(DLLEXT)
shdocvw/__install__: shdocvw.dll$(DLLEXT)
shell32/__install__: shell32.dll$(DLLEXT)
shfolder/__install__: shfolder.dll$(DLLEXT)
shlwapi/__install__: shlwapi.dll$(DLLEXT)
snmpapi/__install__: snmpapi.dll$(DLLEXT)
sti/__install__: sti.dll$(DLLEXT)
tapi32/__install__: tapi32.dll$(DLLEXT)
ttydrv/__install__: ttydrv.dll$(DLLEXT)
twain/__install__: twain_32.dll$(DLLEXT)
url/__install__: url.dll$(DLLEXT)
urlmon/__install__: urlmon.dll$(DLLEXT)
user/__install__: user32.dll$(DLLEXT)
version/__install__: version.dll$(DLLEXT)
win32s/__install__: w32skrnl.dll$(DLLEXT)
winmm/winearts/__install__: winearts.drv$(DLLEXT)
winedos/__install__: winedos.dll$(DLLEXT)
msacm/winemp3/__install__: winemp3.acm$(DLLEXT)
winmm/wineoss/__install__: wineoss.drv$(DLLEXT)
wineps/__install__: wineps.dll$(DLLEXT)
wininet/__install__: wininet.dll$(DLLEXT)
winmm/__install__: winmm.dll$(DLLEXT)
winnls/__install__: winnls32.dll$(DLLEXT)
winspool/__install__: winspool.drv$(DLLEXT)
wintrust/__install__: wintrust.dll$(DLLEXT)
winaspi/__install__: wnaspi32.dll$(DLLEXT)
wow32/__install__: wow32.dll$(DLLEXT)
winsock/__install__: ws2_32.dll$(DLLEXT)
wsock32/__install__: wsock32.dll$(DLLEXT)
x11drv/__install__: x11drv.dll$(DLLEXT)
# Inter-dll dependencies # Inter-dll dependencies
advapi32: kernel32.dll$(DLLEXT) ntdll.dll$(DLLEXT) advapi32: kernel32.dll$(DLLEXT) ntdll.dll$(DLLEXT)
@ -755,10 +852,11 @@ libuser32.dll.$(LIBEXT): user
libkernel32.dll.$(LIBEXT): kernel libkernel32.dll.$(LIBEXT): kernel
$(RM) $@ && $(LN_S) kernel/kernel32.dll$(DLLEXT) $@ $(RM) $@ && $(LN_S) kernel/kernel32.dll$(DLLEXT) $@
uninstall-links: dummy uninstall::
$(RM) $(LINKABLE_DLLS:%=$(libdir)/lib%.$(LIBEXT)) $(RM) $(LINKABLE_DLLS:%=$(libdir)/lib%.$(LIBEXT))
install-links: uninstall-links dummy install::
$(RM) $(LINKABLE_DLLS:%=$(libdir)/lib%.$(LIBEXT))
cd $(libdir) && if [ "$(dlldir)" = "$(libdir)/wine" ]; \ cd $(libdir) && if [ "$(dlldir)" = "$(libdir)/wine" ]; \
then \ then \
$(LN_S) wine/ntdll.dll$(DLLEXT) libntdll.dll.$(LIBEXT); \ $(LN_S) wine/ntdll.dll$(DLLEXT) libntdll.dll.$(LIBEXT); \
@ -777,11 +875,13 @@ install-links: uninstall-links dummy
$(BUILDSUBDIRS:%=%/__checklink__): dummy $(BUILDSUBDIRS:%=%/__checklink__): dummy
@cd `dirname $@` && $(MAKE) checklink @cd `dirname $@` && $(MAKE) checklink
install:: $(BUILDSUBDIRS:%=%/__install__) install-links uninstall::
uninstall:: $(BUILDSUBDIRS:%=%/__uninstall__) uninstall-links
-rmdir $(dlldir) -rmdir $(dlldir)
check test:: $(BUILDSUBDIRS:%=%/__test__) check test:: $(BUILDSUBDIRS:%=%/__test__)
checklink:: $(BUILDSUBDIRS:%=%/__checklink__) checklink:: $(BUILDSUBDIRS:%=%/__checklink__)
.PHONY: checklink $(BUILDSUBDIRS:%=%/__checklink__)
### Dependencies:

View File

@ -134,6 +134,8 @@ printf NEWMAKE <<EOF;
BUILDSUBDIRS = \$(BASEDIRS) \$(EXTRADIRS) BUILDSUBDIRS = \$(BASEDIRS) \$(EXTRADIRS)
INSTALLSUBDIRS = \$(BUILDSUBDIRS)
EOF EOF
################################################################ ################################################################
@ -198,6 +200,13 @@ foreach my $mod (sort keys %directories)
printf NEWMAKE "%s/%s\$(DLLEXT): %s\n", $directories{$mod}, $mod, $directories{$mod}; printf NEWMAKE "%s/%s\$(DLLEXT): %s\n", $directories{$mod}, $mod, $directories{$mod};
} }
print NEWMAKE "\n# Install dependencies\n\n";
foreach my $mod (sort keys %directories)
{
printf NEWMAKE "%s/__install__: %s\$(DLLEXT)\n", $directories{$mod}, $mod;
}
print NEWMAKE "\n# Inter-dll dependencies\n\n"; print NEWMAKE "\n# Inter-dll dependencies\n\n";
my @depends = (); my @depends = ();
@ -249,10 +258,11 @@ foreach my $mod (keys %linkable_dlls)
} }
print NEWMAKE <<EOF; print NEWMAKE <<EOF;
uninstall-links: dummy uninstall::
\$(RM) \$(LINKABLE_DLLS:%=\$(libdir)/lib%.\$(LIBEXT)) \$(RM) \$(LINKABLE_DLLS:%=\$(libdir)/lib%.\$(LIBEXT))
install-links: uninstall-links dummy install::
\$(RM) \$(LINKABLE_DLLS:%=\$(libdir)/lib%.\$(LIBEXT))
cd \$(libdir) && if [ "\$(dlldir)" = "\$(libdir)/wine" ]; \\ cd \$(libdir) && if [ "\$(dlldir)" = "\$(libdir)/wine" ]; \\
then \\ then \\
EOF EOF
@ -276,14 +286,16 @@ print NEWMAKE <<EOF;
\$(BUILDSUBDIRS:%=%/__checklink__): dummy \$(BUILDSUBDIRS:%=%/__checklink__): dummy
\@cd `dirname \$\@` && \$(MAKE) checklink \@cd `dirname \$\@` && \$(MAKE) checklink
install:: \$(BUILDSUBDIRS:%=%/__install__) install-links uninstall::
uninstall:: \$(BUILDSUBDIRS:%=%/__uninstall__) uninstall-links
-rmdir \$(dlldir) -rmdir \$(dlldir)
check test:: \$(BUILDSUBDIRS:%=%/__test__) check test:: \$(BUILDSUBDIRS:%=%/__test__)
checklink:: \$(BUILDSUBDIRS:%=%/__checklink__) checklink:: \$(BUILDSUBDIRS:%=%/__checklink__)
.PHONY: checklink \$(BUILDSUBDIRS:%=%/__checklink__)
### Dependencies:
EOF EOF
close NEWMAKE; close NEWMAKE;

View File

@ -49,6 +49,13 @@ RC_SRCS16 = version16.rc
@MAKE_DLL_RULES@ @MAKE_DLL_RULES@
install::
$(MKINSTALLDIRS) $(bindir)
$(INSTALL_SCRIPT) $(TOPSRCDIR)/tools/wineshelllink $(bindir)/wineshelllink
uninstall::
$(RM) $(bindir)/wineshelllink
# Special rules for 16-bit resource files # Special rules for 16-bit resource files
version16.res: version16.rc version16.res: version16.rc

View File

@ -68,15 +68,12 @@ wine.man: wine.man.in
sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,@PACKAGE_STRING@,g' $(SRCDIR)/wine.man.in >$@ || $(RM) $@ sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,@PACKAGE_STRING@,g' $(SRCDIR)/wine.man.in >$@ || $(RM) $@
install:: $(MAN_TARGETS) install:: $(MAN_TARGETS)
$(INSTALL) -d $(mandir)/man$(prog_manext) $(MKINSTALLDIRS) $(mandir)/man$(prog_manext) $(mandir)/man$(conf_manext)
$(INSTALL) -d $(mandir)/man$(conf_manext)
$(INSTALL_DATA) wine.man $(mandir)/man$(prog_manext)/wine.$(prog_manext) $(INSTALL_DATA) wine.man $(mandir)/man$(prog_manext)/wine.$(prog_manext)
$(INSTALL_DATA) $(SRCDIR)/winemaker.man $(mandir)/man$(prog_manext)/winemaker.$(prog_manext)
$(INSTALL_DATA) $(SRCDIR)/wine.conf.man $(mandir)/man$(conf_manext)/wine.conf.$(conf_manext) $(INSTALL_DATA) $(SRCDIR)/wine.conf.man $(mandir)/man$(conf_manext)/wine.conf.$(conf_manext)
uninstall:: uninstall::
$(RM) $(mandir)/man$(prog_manext)/wine.$(prog_manext) $(RM) $(mandir)/man$(prog_manext)/wine.$(prog_manext)
$(RM) $(mandir)/man$(prog_manext)/winemaker.$(prog_manext)
$(RM) $(mandir)/man$(conf_manext)/wine.conf.$(conf_manext) $(RM) $(mandir)/man$(conf_manext)/wine.conf.$(conf_manext)
clean:: clean::

View File

@ -34,16 +34,18 @@ libwine.a: $(OBJS)
libwine.dll: $(OBJS) libwine.dll: $(OBJS)
$(DLLWRAP) $(DLLWRAPFLAGS) --export-all --implib libwine.a -o libwine.dll $(OBJS) -lmsvcrt $(DLLWRAP) $(DLLWRAPFLAGS) --export-all --implib libwine.a -o libwine.dll $(OBJS) -lmsvcrt
install_so: libwine.so.$(SOVERSION) .PHONY: install_so install_a install_dll
install_so: libwine.so.$(SOVERSION) dummy
$(MKINSTALLDIRS) $(libdir) $(MKINSTALLDIRS) $(libdir)
$(INSTALL_PROGRAM) libwine.so.$(SOVERSION) $(libdir)/libwine.so.$(SOVERSION) $(INSTALL_PROGRAM) libwine.so.$(SOVERSION) $(libdir)/libwine.so.$(SOVERSION)
cd $(libdir) && $(RM) libwine.so && $(LN_S) libwine.so.$(SOVERSION) libwine.so cd $(libdir) && $(RM) libwine.so && $(LN_S) libwine.so.$(SOVERSION) libwine.so
install_a: libwine.a install_a: libwine.a dummy
$(MKINSTALLDIRS) $(libdir) $(MKINSTALLDIRS) $(libdir)
$(INSTALL_DATA) libwine.a $(libdir)/libwine.a $(INSTALL_DATA) libwine.a $(libdir)/libwine.a
install_dll: libwine.dll install_dll: libwine.dll dummy
$(MKINSTALLDIRS) $(libdir) $(MKINSTALLDIRS) $(libdir)
$(INSTALL_DATA) libwine.dll $(libdir)/libwine.dll $(INSTALL_DATA) libwine.dll $(libdir)/libwine.dll

View File

@ -17,7 +17,7 @@ libwine_uuid.a: uuid.o
$(AR) $@ uuid.o $(AR) $@ uuid.o
$(RANLIB) $@ $(RANLIB) $@
install: libwine_uuid.a install:: libwine_uuid.a
$(MKINSTALLDIRS) $(libdir) $(MKINSTALLDIRS) $(libdir)
$(INSTALL_DATA) libwine_uuid.a $(libdir)/libwine_uuid.a $(INSTALL_DATA) libwine_uuid.a $(libdir)/libwine_uuid.a

View File

@ -1,3 +1,4 @@
Makefile Makefile
Makeprog.rules Makeprog.rules
wineapploader wineapploader
winelauncher

View File

@ -29,10 +29,12 @@ SUBDIRS = \
winhelp \ winhelp \
winver winver
# Sub-directories to run make install into
INSTALLSUBDIRS = $(SUBDIRS)
# Programs to install in bin directory # Programs to install in bin directory
# We don't install everything to avoid polluting /usr/bin too much # We don't install everything to avoid polluting /usr/bin too much
INSTALLPROGS = \ INSTALLPROGS = \
expand \
notepad \ notepad \
progman \ progman \
regedit \ regedit \
@ -54,11 +56,14 @@ SYMLINKS = \
@MAKE_RULES@ @MAKE_RULES@
all: wineapploader $(SUBDIRS) $(SYMLINKS:%=%$(DLLEXT)) all: wineapploader winelauncher $(SUBDIRS) $(SYMLINKS:%=%$(DLLEXT))
wineapploader: wineapploader.in wineapploader: wineapploader.in
sed -e 's,@bindir\@,$(bindir),g' $(SRCDIR)/wineapploader.in >$@ || $(RM) $@ sed -e 's,@bindir\@,$(bindir),g' $(SRCDIR)/wineapploader.in >$@ || $(RM) $@
winelauncher: winelauncher.in
sed -e 's,@bindir\@,$(bindir),g' -e 's,@libdir\@,$(libdir),g' -e 's,@dlldir\@,$(dlldir),g' $(SRCDIR)/winelauncher.in >$@ || $(RM) $@
# Rules for installation # Rules for installation
.PHONY: install-apploader install-progs install-progs.so $(INSTALLPROGS:%=%/__installprog__) .PHONY: install-apploader install-progs install-progs.so $(INSTALLPROGS:%=%/__installprog__)
@ -75,14 +80,16 @@ install-progs.so: $(INSTALLPROGS:%=%/__installprog__)
install-progs: # nothing to do here install-progs: # nothing to do here
install:: $(SUBDIRS:%=%/__install__) install-progs$(DLLEXT) install:: winelauncher install-progs$(DLLEXT)
$(MKINSTALLDIRS) $(bindir)
$(INSTALL_SCRIPT) winelauncher $(bindir)/winelauncher
uninstall:: $(SUBDIRS:%=%/__uninstall__) uninstall::
$(RM) $(bindir)/wineapploader $(INSTALLPROGS:%=$(bindir)/%) $(RM) $(bindir)/wineapploader $(bindir)/winelauncher $(INSTALLPROGS:%=$(bindir)/%)
-rmdir $(dlldir) -rmdir $(dlldir)
clean:: clean::
$(RM) wineapploader $(SYMLINKS) $(RM) wineapploader winelauncher $(SYMLINKS)
# Rules for testing # Rules for testing

View File

@ -55,11 +55,11 @@ $(TESTRESULTS): $(MODULE)$(DLLEXT)
.PHONY: install_prog install_prog.so uninstall_prog uninstall_prog.so .PHONY: install_prog install_prog.so uninstall_prog uninstall_prog.so
install_prog.so: $(MODULE).so install_prog.so: $(MODULE).so dummy
$(MKINSTALLDIRS) $(dlldir) $(MKINSTALLDIRS) $(dlldir)
$(INSTALL_PROGRAM) $(MODULE).so $(dlldir)/$(MODULE).so $(INSTALL_PROGRAM) $(MODULE).so $(dlldir)/$(MODULE).so
install_prog: $(MODULE) install_prog: $(MODULE) dummy
$(MKINSTALLDIRS) $(bindir) $(MKINSTALLDIRS) $(bindir)
$(INSTALL_PROGRAM) $(MODULE) $(bindir)/$(MODULE) $(INSTALL_PROGRAM) $(MODULE) $(bindir)/$(MODULE)

View File

@ -2,4 +2,3 @@ Makefile
bin2res bin2res
fnt2bdf fnt2bdf
makedep makedep
winelauncher

View File

@ -4,7 +4,7 @@ TOPOBJDIR = ..
SRCDIR = @srcdir@ SRCDIR = @srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
PROGRAMS = makedep fnt2bdf bin2res winelauncher PROGRAMS = makedep fnt2bdf bin2res
MODULE = none MODULE = none
C_SRCS = makedep.c fnt2bdf.c bin2res.c C_SRCS = makedep.c fnt2bdf.c bin2res.c
@ -15,11 +15,7 @@ SUBDIRS = \
wmc \ wmc \
wrc wrc
INSTALLSUBDIRS = \ INSTALLSUBDIRS = $(SUBDIRS)
winebuild \
winedump \
wmc \
wrc
EXTRASUBDIRS = \ EXTRASUBDIRS = \
winapi_check \ winapi_check \
@ -27,7 +23,7 @@ EXTRASUBDIRS = \
winapi_check/win32 \ winapi_check/win32 \
wineconf.libs wineconf.libs
all: $(PROGRAMS) winebuild winedump wmc wrc all: $(PROGRAMS) $(SUBDIRS)
@MAKE_RULES@ @MAKE_RULES@
@ -40,17 +36,12 @@ fnt2bdf: fnt2bdf.o
bin2res: bin2res.o bin2res: bin2res.o
$(CC) $(CFLAGS) -o bin2res bin2res.o $(CC) $(CFLAGS) -o bin2res bin2res.o
winelauncher: winelauncher.in install::
sed -e 's,@bindir\@,$(bindir),g' -e 's,@libdir\@,$(libdir),g' -e 's,@dlldir\@,$(dlldir),g' $(SRCDIR)/winelauncher.in >$@ || $(RM) $@ $(MKINSTALLDIRS) $(bindir) $(mandir)/man$(prog_manext)
install:: $(PROGRAMS) $(INSTALLSUBDIRS:%=%/__install__)
$(MKINSTALLDIRS) $(bindir)
$(INSTALL_PROGRAM) fnt2bdf $(bindir)/fnt2bdf
$(INSTALL_SCRIPT) winelauncher $(bindir)/winelauncher
$(INSTALL_SCRIPT) $(SRCDIR)/winemaker $(bindir)/winemaker $(INSTALL_SCRIPT) $(SRCDIR)/winemaker $(bindir)/winemaker
$(INSTALL_SCRIPT) $(SRCDIR)/wineshelllink $(bindir)/wineshelllink $(INSTALL_DATA) $(SRCDIR)/winemaker.man $(mandir)/man$(prog_manext)/winemaker.$(prog_manext)
uninstall:: $(INSTALLSUBDIRS:%=%/__uninstall__) uninstall::
$(RM) $(bindir)/fnt2bdf $(bindir)/winelauncher $(bindir)/winemaker $(bindir)/wineshelllink $(RM) $(bindir)/winemaker $(mandir)/man$(prog_manext)/winemaker.$(prog_manext)
### Dependencies: ### Dependencies:

View File

@ -3,15 +3,11 @@ TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../.. TOPOBJDIR = ../..
SRCDIR = @srcdir@ SRCDIR = @srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
MODULE = none
PROGRAMS =
MODULE = none
all: $(PROGRAMS)
@MAKE_RULES@ @MAKE_RULES@
install:: $(PROGRAMS) install::
$(MKINSTALLDIRS) $(bindir) $(MKINSTALLDIRS) $(bindir)
$(INSTALL_SCRIPT) $(SRCDIR)/trampoline $(bindir)/make_filter $(INSTALL_SCRIPT) $(SRCDIR)/trampoline $(bindir)/make_filter
$(INSTALL_SCRIPT) $(SRCDIR)/trampoline $(bindir)/winapi_check $(INSTALL_SCRIPT) $(SRCDIR)/trampoline $(bindir)/winapi_check

View File

@ -4,7 +4,7 @@ TOPOBJDIR = ../..
SRCDIR = @srcdir@ SRCDIR = @srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
PROGRAMS = winebuild PROGRAMS = winebuild$(EXEEXT)
MODULE = none MODULE = none
C_SRCS = \ C_SRCS = \
@ -22,14 +22,14 @@ all: $(PROGRAMS)
@MAKE_RULES@ @MAKE_RULES@
winebuild: $(OBJS) winebuild$(EXEEXT): $(OBJS)
$(CC) $(CFLAGS) -o winebuild $(OBJS) $(LIBWINE) $(LIBUNICODE) $(LDFLAGS) $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIBWINE) $(LIBUNICODE) $(LDFLAGS)
install:: $(PROGRAMS) install:: $(PROGRAMS)
$(MKINSTALLDIRS) $(bindir) $(MKINSTALLDIRS) $(bindir)
$(INSTALL_PROGRAM) winebuild $(bindir)/winebuild $(INSTALL_PROGRAM) winebuild$(EXEEXT) $(bindir)/winebuild$(EXEEXT)
uninstall:: uninstall::
$(RM) $(bindir)/winebuild $(RM) $(bindir)/winebuild$(EXEEXT)
### Dependencies: ### Dependencies:

View File

@ -40,9 +40,9 @@ clean::
install:: $(PROGRAMS) install:: $(PROGRAMS)
$(MKINSTALLDIRS) $(bindir) $(mandir)/man$(prog_manext) $(MKINSTALLDIRS) $(bindir) $(mandir)/man$(prog_manext)
$(INSTALL_DATA) $(SRCDIR)/wmc.man $(mandir)/man$(prog_manext)/wmc.$(prog_manext) $(INSTALL_DATA) $(SRCDIR)/wmc.man $(mandir)/man$(prog_manext)/wmc.$(prog_manext)
$(INSTALL_PROGRAM) wmc $(bindir)/wmc $(INSTALL_PROGRAM) wmc$(EXEEXT) $(bindir)/wmc$(EXEEXT)
uninstall:: uninstall::
$(RM) $(bindir)/wmc $(mandir)/man$(prog_manext)/wmc.$(prog_manext) $(RM) $(bindir)/wmc$(EXEEXT) $(mandir)/man$(prog_manext)/wmc.$(prog_manext)
### Dependencies: ### Dependencies:

View File

@ -52,9 +52,9 @@ clean::
install:: $(PROGRAMS) install:: $(PROGRAMS)
$(MKINSTALLDIRS) $(bindir) $(mandir)/man$(prog_manext) $(MKINSTALLDIRS) $(bindir) $(mandir)/man$(prog_manext)
$(INSTALL_DATA) $(SRCDIR)/wrc.man $(mandir)/man$(prog_manext)/wrc.$(prog_manext) $(INSTALL_DATA) $(SRCDIR)/wrc.man $(mandir)/man$(prog_manext)/wrc.$(prog_manext)
$(INSTALL_PROGRAM) wrc $(bindir)/wrc $(INSTALL_PROGRAM) wrc$(EXEEXT) $(bindir)/wrc$(EXEEXT)
uninstall:: uninstall::
$(RM) $(bindir)/wrc $(mandir)/man$(prog_manext)/wrc.$(prog_manext) $(RM) $(bindir)/wrc$(EXEEXT) $(mandir)/man$(prog_manext)/wrc.$(prog_manext)
### Dependencies: ### Dependencies:

View File

@ -39,16 +39,18 @@ libwine_tsx11.a: $(OBJS)
libwine_tsx11.dll: $(OBJS) libwine_tsx11.dll: $(OBJS)
$(DLLWRAP) $(DLLWRAPFLAGS) --export-all --implib libwine_tsx11.a -o libwine_tsx11.dll $(OBJS) $(DLLWRAP) $(DLLWRAPFLAGS) --export-all --implib libwine_tsx11.a -o libwine_tsx11.dll $(OBJS)
install_so: libwine_tsx11.so.$(SOVERSION) .PHONY: install_so install_a
install_so: libwine_tsx11.so.$(SOVERSION) dummy
$(MKINSTALLDIRS) $(libdir) $(MKINSTALLDIRS) $(libdir)
$(INSTALL_PROGRAM) libwine_tsx11.so.$(SOVERSION) $(libdir)/libwine_tsx11.so.$(SOVERSION) $(INSTALL_PROGRAM) libwine_tsx11.so.$(SOVERSION) $(libdir)/libwine_tsx11.so.$(SOVERSION)
cd $(libdir) && $(RM) libwine_tsx11.so && $(LN_S) libwine_tsx11.so.$(SOVERSION) libwine_tsx11.so cd $(libdir) && $(RM) libwine_tsx11.so && $(LN_S) libwine_tsx11.so.$(SOVERSION) libwine_tsx11.so
install_a: libwine_tsx11.a install_a: libwine_tsx11.a dummy
$(MKINSTALLDIRS) $(libdir) $(MKINSTALLDIRS) $(libdir)
$(INSTALL_DATA) libwine_tsx11.a $(libdir)/libwine_tsx11.a $(INSTALL_DATA) libwine_tsx11.a $(libdir)/libwine_tsx11.a
install:: all $(LIBEXT:%=install_%) install:: $(LIBEXT:%=install_%)
uninstall:: uninstall::
$(RM) $(libdir)/libwine_tsx11.a $(libdir)/libwine_tsx11.so $(libdir)/libwine_tsx11.so.$(SOVERSION) $(RM) $(libdir)/libwine_tsx11.a $(libdir)/libwine_tsx11.so $(libdir)/libwine_tsx11.so.$(SOVERSION)

View File

@ -99,16 +99,18 @@ libwine_unicode.a: $(OBJS)
libwine_unicode.dll: $(OBJS) wine_unicode.def libwine_unicode.dll: $(OBJS) wine_unicode.def
$(DLLWRAP) $(DLLWRAPFLAGS) --def $(SRCDIR)/wine_unicode.def --implib libwine_unicode.a -o libwine_unicode.dll $(OBJS) $(DLLWRAP) $(DLLWRAPFLAGS) --def $(SRCDIR)/wine_unicode.def --implib libwine_unicode.a -o libwine_unicode.dll $(OBJS)
install_so: libwine_unicode.so.$(SOVERSION) .PHONY: install_so install_a install_dll
install_so: libwine_unicode.so.$(SOVERSION) dummy
$(MKINSTALLDIRS) $(libdir) $(MKINSTALLDIRS) $(libdir)
$(INSTALL_PROGRAM) libwine_unicode.so.$(SOVERSION) $(libdir)/libwine_unicode.so.$(SOVERSION) $(INSTALL_PROGRAM) libwine_unicode.so.$(SOVERSION) $(libdir)/libwine_unicode.so.$(SOVERSION)
cd $(libdir) && $(RM) libwine_unicode.so && $(LN_S) libwine_unicode.so.$(SOVERSION) libwine_unicode.so cd $(libdir) && $(RM) libwine_unicode.so && $(LN_S) libwine_unicode.so.$(SOVERSION) libwine_unicode.so
install_a: libwine_unicode.a install_a: libwine_unicode.a dummy
$(MKINSTALLDIRS) $(libdir) $(MKINSTALLDIRS) $(libdir)
$(INSTALL_DATA) libwine_unicode.a $(libdir)/libwine_unicode.a $(INSTALL_DATA) libwine_unicode.a $(libdir)/libwine_unicode.a
install_dll: libwine_unicode.dll install_dll: libwine_unicode.dll dummy
$(MKINSTALLDIRS) $(libdir) $(MKINSTALLDIRS) $(libdir)
$(INSTALL_DATA) libwine_unicode.dll $(libdir)/libwine_unicode.dll $(INSTALL_DATA) libwine_unicode.dll $(libdir)/libwine_unicode.dll