Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
2ea7a809
Commit
2ea7a809
authored
Nov 30, 2003
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added make_progs tool to generate the programs makefile.
Create symlinks for all the Winelib apps.
parent
50b7cf04
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
321 additions
and
2 deletions
+321
-2
Makefile.in
programs/Makefile.in
+109
-2
make_progs
programs/make_progs
+212
-0
No files found.
programs/Makefile.in
View file @
2ea7a809
# Automatically generated by make_progs; DO NOT EDIT!!
TOPSRCDIR
=
@top_srcdir@
TOPOBJDIR
=
..
SRCDIR
=
@srcdir@
...
...
@@ -59,7 +61,6 @@ INSTALLSUBDIRS = \
winver
# Programs to install in bin directory
# We don't install everything to avoid polluting /usr/bin too much
INSTALLPROGS
=
\
notepad
\
progman
\
...
...
@@ -78,13 +79,34 @@ INSTALLPROGS = \
# Symlinks to apps that we want to run from inside the source tree
SYMLINKS
=
\
aviinfo.exe
\
aviplay.exe
\
clock.exe
\
cmdlgtst.exe
\
control.exe
\
expand.exe
\
icinfo.exe
\
notepad.exe
\
progman.exe
\
regedit.exe
\
regsvr32.exe
\
rpcss.exe
\
rundll32.exe
\
start.exe
\
uninstaller.exe
\
view.exe
\
wcmd.exe
\
wineboot.exe
\
winecfg.exe
\
wineconsole.exe
\
winedbg.exe
\
winefile.exe
\
winemenubuilder.exe
\
winemine.exe
\
winepath.exe
\
winevdm.exe
\
winhelp.exe
winhelp.exe
\
winver.exe
@MAKE_RULES@
...
...
@@ -129,32 +151,117 @@ check test:: $(SUBDIRS:%=%/__test__)
# Rules for symlinks
aviinfo.exe$(DLLEXT)
:
avitools/aviinfo.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
avitools/aviinfo.exe
$(DLLEXT)
$@
aviplay.exe$(DLLEXT)
:
avitools/aviplay.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
avitools/aviplay.exe
$(DLLEXT)
$@
clock.exe$(DLLEXT)
:
clock/clock.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
clock/clock.exe
$(DLLEXT)
$@
cmdlgtst.exe$(DLLEXT)
:
cmdlgtst/cmdlgtst.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
cmdlgtst/cmdlgtst.exe
$(DLLEXT)
$@
control.exe$(DLLEXT)
:
control/control.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
control/control.exe
$(DLLEXT)
$@
expand.exe$(DLLEXT)
:
expand/expand.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
expand
/expand.exe
$(DLLEXT)
$@
icinfo.exe$(DLLEXT)
:
avitools/icinfo.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
avitools/icinfo.exe
$(DLLEXT)
$@
notepad.exe$(DLLEXT)
:
notepad/notepad.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
notepad/notepad.exe
$(DLLEXT)
$@
progman.exe$(DLLEXT)
:
progman/progman.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
progman/progman.exe
$(DLLEXT)
$@
regedit.exe$(DLLEXT)
:
regedit/regedit.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
regedit/regedit.exe
$(DLLEXT)
$@
regsvr32.exe$(DLLEXT)
:
regsvr32/regsvr32.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
regsvr32/regsvr32.exe
$(DLLEXT)
$@
rpcss.exe$(DLLEXT)
:
rpcss/rpcss.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
rpcss/rpcss.exe
$(DLLEXT)
$@
rundll32.exe$(DLLEXT)
:
rundll32/rundll32.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
rundll32/rundll32.exe
$(DLLEXT)
$@
start.exe$(DLLEXT)
:
start/start.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
start/start.exe
$(DLLEXT)
$@
uninstaller.exe$(DLLEXT)
:
uninstaller/uninstaller.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
uninstaller/uninstaller.exe
$(DLLEXT)
$@
view.exe$(DLLEXT)
:
view/view.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
view/view.exe
$(DLLEXT)
$@
wcmd.exe$(DLLEXT)
:
wcmd/wcmd.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
wcmd/wcmd.exe
$(DLLEXT)
$@
wineboot.exe$(DLLEXT)
:
wineboot/wineboot.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
wineboot/wineboot.exe
$(DLLEXT)
$@
winecfg.exe$(DLLEXT)
:
winecfg/winecfg.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
winecfg/winecfg.exe
$(DLLEXT)
$@
wineconsole.exe$(DLLEXT)
:
wineconsole/wineconsole.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
wineconsole/wineconsole.exe
$(DLLEXT)
$@
winedbg.exe$(DLLEXT)
:
winedbg/winedbg.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
winedbg/winedbg.exe
$(DLLEXT)
$@
winefile.exe$(DLLEXT)
:
winefile/winefile.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
winefile/winefile.exe
$(DLLEXT)
$@
winemenubuilder.exe$(DLLEXT)
:
winemenubuilder/winemenubuilder.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
winemenubuilder/winemenubuilder.exe
$(DLLEXT)
$@
winemine.exe$(DLLEXT)
:
winemine/winemine.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
winemine/winemine.exe
$(DLLEXT)
$@
winepath.exe$(DLLEXT)
:
winepath/winepath.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
winepath/winepath.exe
$(DLLEXT)
$@
winevdm.exe$(DLLEXT)
:
winevdm/winevdm.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
winevdm/winevdm.exe
$(DLLEXT)
$@
winhelp.exe$(DLLEXT)
:
winhelp/winhelp.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
winhelp/winhelp.exe
$(DLLEXT)
$@
winver.exe$(DLLEXT)
:
winver/winver.exe$(DLLEXT)
$(RM)
$@
&&
$(LN_S)
winver/winver.exe
$(DLLEXT)
$@
avitools/aviinfo.exe$(DLLEXT)
:
avitools
avitools/aviplay.exe$(DLLEXT)
:
avitools
clock/clock.exe$(DLLEXT)
:
clock
cmdlgtst/cmdlgtst.exe$(DLLEXT)
:
cmdlgtst
control/control.exe$(DLLEXT)
:
control
expand/expand.exe$(DLLEXT)
:
expand
avitools/icinfo.exe$(DLLEXT)
:
avitools
notepad/notepad.exe$(DLLEXT)
:
notepad
progman/progman.exe$(DLLEXT)
:
progman
regedit/regedit.exe$(DLLEXT)
:
regedit
regsvr32/regsvr32.exe$(DLLEXT)
:
regsvr32
rpcss/rpcss.exe$(DLLEXT)
:
rpcss
rundll32/rundll32.exe$(DLLEXT)
:
rundll32
start/start.exe$(DLLEXT)
:
start
uninstaller/uninstaller.exe$(DLLEXT)
:
uninstaller
view/view.exe$(DLLEXT)
:
view
wcmd/wcmd.exe$(DLLEXT)
:
wcmd
wineboot/wineboot.exe$(DLLEXT)
:
wineboot
winecfg/winecfg.exe$(DLLEXT)
:
winecfg
wineconsole/wineconsole.exe$(DLLEXT)
:
wineconsole
winedbg/winedbg.exe$(DLLEXT)
:
winedbg
winefile/winefile.exe$(DLLEXT)
:
winefile
winemenubuilder/winemenubuilder.exe$(DLLEXT)
:
winemenubuilder
winemine/winemine.exe$(DLLEXT)
:
winemine
winepath/winepath.exe$(DLLEXT)
:
winepath
winevdm/winevdm.exe$(DLLEXT)
:
winevdm
winhelp/winhelp.exe$(DLLEXT)
:
winhelp
winver/winver.exe$(DLLEXT)
:
winver
### Dependencies:
programs/make_progs
0 → 100755
View file @
2ea7a809
#!/usr/bin/perl -w
#
# Update the dependencies in the programs main Makefile.in.
# Must be run in the programs/ directory of the Wine tree.
#
# Copyright 2003 Alexandre Julliard
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
use
strict
;
my
$makefiles
=
`find . -name Makefile.in -print`
;
my
%
directories
=
();
# Programs that we want to install in the bin directory too
my
%
bin_install
=
(
"notepad"
=>
1
,
"progman"
=>
1
,
"regedit"
=>
1
,
"regsvr32"
=>
1
,
"uninstaller"
=>
1
,
"wcmd"
=>
1
,
"wineboot"
=>
1
,
"winecfg"
=>
1
,
"wineconsole"
=>
1
,
"winedbg"
=>
1
,
"winefile"
=>
1
,
"winemine"
=>
1
,
"winepath"
=>
1
,
"winhelp"
=>
1
,
);
# Programs that we don't want to install at all
my
%
dont_install
=
(
"cmdlgtst"
=>
1
,
"view"
=>
1
,
);
foreach
my
$i
(
split
(
/\s/
,
$makefiles
))
{
my
$module
;
next
if
$i
=~
/\/tests\/Makefile.in/
;
open
MAKE
,
$i
;
$module
=
undef
;
while
(
<
MAKE
>
)
{
chop
;
# hack to disable this program... the MKPROG_SKIP comment must appear
# at the very top of the Makefile.in
last
if
(
/^\#\s*MKPROG_SKIP/
);
if
(
/^MODULE\s*=\s*([a-zA-Z0-9_.]+)/
)
{
$module
=
$1
;
next
if
(
$module
eq
"none"
);
(
$directories
{
$module
}
=
$i
)
=~
s/^\.\/(.*)\/[^\/]+$/$1/
;
last
;
}
if
(
/^PROGRAMS\s*=((\s*[a-zA-Z0-9_.]+)+)/
)
{
my
@programs
=
split
/ /
,
$1
;
foreach
my
$prog
(
@programs
)
{
next
unless
$prog
=~
/\.exe$/
;
(
$directories
{
$prog
}
=
$i
)
=~
s/^\.\/(.*)\/[^\/]+$/$1/
;
}
last
;
}
}
close
MAKE
;
}
open
NEWMAKE
,
">Makefile.in.new"
or
die
"cannot create Makefile.in.new"
;
################################################################
# makefile header
print
NEWMAKE
<<EOF;
# Automatically generated by make_progs; DO NOT EDIT!!
TOPSRCDIR = \@top_srcdir\@
TOPOBJDIR = ..
SRCDIR = \@srcdir\@
VPATH = \@srcdir\@
EOF
################################################################
# output the subdirs list
# get rid of duplicates
my
%
alldirs
=
();
foreach
my
$dir
(
sort
values
%
directories
)
{
$alldirs
{
$dir
}
=
1
;
}
print
NEWMAKE
"SUBDIRS ="
;
foreach
my
$dir
(
sort
keys
%
alldirs
)
{
printf
NEWMAKE
" \\\n\t%s"
,
$dir
;
}
print
NEWMAKE
"\n\n# Sub-directories to run make install into\nINSTALLSUBDIRS ="
;
foreach
my
$dir
(
sort
keys
%
alldirs
)
{
next
if
$dont_install
{
$dir
};
printf
NEWMAKE
" \\\n\t%s"
,
$dir
;
}
print
NEWMAKE
"\n\n# Programs to install in bin directory\nINSTALLPROGS ="
;
foreach
my
$dir
(
sort
keys
%
alldirs
)
{
printf
NEWMAKE
" \\\n\t%s"
,
$dir
if
$bin_install
{
$dir
};
}
print
NEWMAKE
"\n\n# Symlinks to apps that we want to run from inside the source tree\nSYMLINKS ="
;
foreach
my
$mod
(
sort
keys
%
directories
)
{
printf
NEWMAKE
" \\\n\t%s"
,
$mod
;
}
################################################################
# output the build and install targets
print
NEWMAKE
<<EOF;
\@MAKE_RULES\@
all: wineapploader winelauncher \$(SUBDIRS) \$(SYMLINKS:%=%\$(DLLEXT))
wineapploader: wineapploader.in
sed -e 's,\@bindir\\\@,\$(bindir),g' \$(SRCDIR)/wineapploader.in >\$\@ || (\$(RM) \$\@ && false)
winelauncher: winelauncher.in
sed -e 's,\@bindir\\\@,\$(bindir),g' -e 's,\@libdir\\\@,\$(libdir),g' -e 's,\@dlldir\\\@,\$(dlldir),g' \$(SRCDIR)/winelauncher.in >\$\@ || (\$(RM) \$\@ && false)
# Rules for installation
.PHONY: install-apploader install-progs install-progs.so \$(INSTALLPROGS:%=%/__installprog__)
install-apploader: wineapploader dummy
\$(MKINSTALLDIRS) \$(bindir)
\$(INSTALL_SCRIPT) wineapploader \$(bindir)/wineapploader
\$(INSTALLPROGS:%=%/__installprog__): install-apploader
\$(RM) \$(bindir)/`dirname \$\@` && \$(LN) \$(bindir)/wineapploader \$(bindir)/`dirname \$\@`
install-progs.so: \$(INSTALLPROGS:%=%/__installprog__)
\$(RM) \$(bindir)/wineapploader
install-progs: # nothing to do here
install:: winelauncher install-progs\$(DLLEXT)
\$(MKINSTALLDIRS) \$(bindir)
\$(INSTALL_SCRIPT) winelauncher \$(bindir)/winelauncher
uninstall::
\$(RM) \$(bindir)/wineapploader \$(bindir)/winelauncher \$(INSTALLPROGS:%=\$(bindir)/%)
-rmdir \$(dlldir)
clean::
\$(RM) wineapploader winelauncher \$(SYMLINKS)
# Rules for testing
check test:: \$(SUBDIRS:%=%/__test__)
EOF
################################################################
# output the symlinks rules
print
NEWMAKE
"# Rules for symlinks\n\n"
;
foreach
my
$mod
(
sort
keys
%
directories
)
{
printf
NEWMAKE
"%s\$(DLLEXT)"
,
$mod
;
printf
NEWMAKE
": %s/%s\$(DLLEXT)\n"
,
$directories
{
$mod
},
$mod
;
printf
NEWMAKE
"\t\$(RM) \$@ && \$(LN_S) %s/%s\$(DLLEXT) \$@\n\n"
,
$directories
{
$mod
},
$mod
;
}
foreach
my
$mod
(
sort
keys
%
directories
)
{
printf
NEWMAKE
"%s/%s\$(DLLEXT): %s\n"
,
$directories
{
$mod
},
$mod
,
$directories
{
$mod
};
}
################################################################
# makefile trailer
print
NEWMAKE
"\n### Dependencies:\n"
;
close
NEWMAKE
;
rename
"Makefile.in.new"
,
"Makefile.in"
;
printf
"Successfully updated Makefile.in\n"
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment