Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
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-winehq
Commits
31eb8be6
Commit
31eb8be6
authored
Nov 09, 2013
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
makefiles: Output clean rules for generated files from makedep.
parent
067d3f0d
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
65 additions
and
15 deletions
+65
-15
Make.rules.in
Make.rules.in
+2
-6
aclocal.m4
aclocal.m4
+2
-1
configure
configure
+2
-1
makedep.c
tools/makedep.c
+59
-7
No files found.
Make.rules.in
View file @
31eb8be6
...
...
@@ -20,14 +20,10 @@ RCFLAGS = --nostdinc $(PORCFLAGS) $(TARGETFLAGS) $(INCLUDES) $(DEFS) $(EXTR
IDL_GEN_C_SRCS = $(IDL_C_SRCS:.idl=_c.c) $(IDL_I_SRCS:.idl=_i.c) \
$(IDL_P_SRCS:.idl=_p.c) $(IDL_S_SRCS:.idl=_s.c)
IDL_GEN_HEADERS = $(IDL_H_SRCS:.idl=.h) $(IDL_C_SRCS:.idl=.h) $(IDL_I_SRCS:.idl=.h) \
$(IDL_P_SRCS:.idl=.h) $(IDL_S_SRCS:.idl=.h)
CLEAN_FILES = *.o *.a *.so *.mo *.res *.fake *.ok *.tab.[ch] *.yy.c
CLEAN_TARGETS = $(MODULE) $(IMPORTLIB:%=lib%.@IMPLIBEXT@) $(IDL_GEN_C_SRCS) $(IDL_GEN_HEADERS) \
$(IDL_TLB_SRCS:.idl=.tlb) $(IDL_P_SRCS:.idl=_p.c dlldata.c) \
$(PO_SRCS:.rc=.res rsrc.pot) $(MC_SRCS:.mc=.res msg.pot) $(XTEMPLATE_SRCS:.x=.h) \
$(TESTMODULE:%=% testlist.c) $(CROSSTESTMODULE)
CLEAN_TARGETS = $(MODULE) $(IMPORTLIB:%=lib%.@IMPLIBEXT@) $(XTEMPLATE_SRCS:.x=.h) \
$(TESTMODULE) $(TESTMODULE_STRIPPED) $(CROSSTESTMODULE)
OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o) $(IDL_GEN_C_SRCS:.c=.o) $(OBJC_SRCS:.m=.o) \
$(IDL_R_SRCS:.idl=_r.res) $(IDL_TLB_RES) $(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.res) $(EXTRA_OBJS)
...
...
aclocal.m4
View file @
31eb8be6
...
...
@@ -381,6 +381,7 @@ wine_fn_config_dll ()
wine_fn_has_flag implib && ac_clean="$ac_clean $ac_file.$IMPLIBEXT"
wine_fn_has_flag mc && ac_clean="$ac_clean $ac_dir/msg.pot"
wine_fn_has_flag po && ac_clean="$ac_clean $ac_dir/rsrc.pot"
test -n "$DLLEXT" || ac_clean="$ac_clean $ac_dir/$ac_dll"
AS_VAR_IF([$ac_enable],[no],
dnl enable_win16 is special in that it disables import libs too
...
...
@@ -571,7 +572,7 @@ wine_fn_config_test ()
ac_clean=
test -n "$CROSSTARGET" && ac_clean=`expr $ac_dir/${ac_name} : "\\(.*\\)_test"`_crosstest.exe
test -n "$DLLEXT" || ac_clean=
$ac_dir/${ac_name}.exe
test -n "$DLLEXT" || ac_clean=
"$ac_dir/${ac_name}.exe $ac_dir/${ac_name}-stripped.exe"
ac_clean="$ac_clean $ac_dir/testlist.c"
AS_VAR_IF([enable_tests],[no],[wine_fn_disabled_rules $ac_clean; return])
...
...
configure
View file @
31eb8be6
...
...
@@ -16300,6 +16300,7 @@ wine_fn_config_dll ()
wine_fn_has_flag implib
&&
ac_clean
=
"
$ac_clean
$ac_file
.
$IMPLIBEXT
"
wine_fn_has_flag mc
&&
ac_clean
=
"
$ac_clean
$ac_dir
/msg.pot"
wine_fn_has_flag po
&&
ac_clean
=
"
$ac_clean
$ac_dir
/rsrc.pot"
test
-n
"
$DLLEXT
"
||
ac_clean
=
"
$ac_clean
$ac_dir
/
$ac_dll
"
if
eval test
\"
x
\$
"
$ac_enable
"
\"
=
x
"no"
;
then
:
if
wine_fn_has_flag implib
&&
test
"
$ac_enable
"
!=
enable_win16
...
...
@@ -16492,7 +16493,7 @@ wine_fn_config_test ()
ac_clean
=
test
-n
"
$CROSSTARGET
"
&&
ac_clean
=
`
expr
$ac_dir
/
${
ac_name
}
:
"
\\
(.*
\\
)_test"
`
_crosstest.exe
test
-n
"
$DLLEXT
"
||
ac_clean
=
$ac_dir
/
${
ac_name
}
.exe
test
-n
"
$DLLEXT
"
||
ac_clean
=
"
$ac_dir
/
${
ac_name
}
.exe
$ac_dir
/
${
ac_name
}
-stripped.exe"
ac_clean
=
"
$ac_clean
$ac_dir
/testlist.c"
if
test
"x
$enable_tests
"
=
xno
;
then
:
...
...
tools/makedep.c
View file @
31eb8be6
...
...
@@ -96,6 +96,13 @@ struct incl_path
static
struct
list
paths
=
LIST_INIT
(
paths
);
struct
strarray
{
unsigned
int
count
;
/* strings in use */
unsigned
int
size
;
/* total allocated size */
const
char
**
str
;
};
static
const
char
*
src_dir
;
static
const
char
*
top_src_dir
;
static
const
char
*
top_obj_dir
;
...
...
@@ -255,6 +262,32 @@ static int output( const char *format, ... )
/*******************************************************************
* strarray_init
*/
static
void
strarray_init
(
struct
strarray
*
array
)
{
array
->
count
=
0
;
array
->
size
=
0
;
array
->
str
=
NULL
;
}
/*******************************************************************
* strarray_add
*/
static
void
strarray_add
(
struct
strarray
*
array
,
const
char
*
str
)
{
if
(
array
->
count
==
array
->
size
)
{
if
(
array
->
size
)
array
->
size
*=
2
;
else
array
->
size
=
16
;
array
->
str
=
xrealloc
(
array
->
str
,
sizeof
(
array
->
str
[
0
])
*
array
->
size
);
}
array
->
str
[
array
->
count
++
]
=
str
;
}
/*******************************************************************
* output_filename
*/
static
void
output_filename
(
const
char
*
name
,
int
*
column
)
...
...
@@ -1089,8 +1122,11 @@ static void output_include( struct incl_file *pFile, struct incl_file *owner, in
static
void
output_sources
(
void
)
{
struct
incl_file
*
source
;
struct
strarray
clean_files
;
int
i
,
column
,
po_srcs
=
0
,
mc_srcs
=
0
;
strarray_init
(
&
clean_files
);
LIST_FOR_EACH_ENTRY
(
source
,
&
sources
,
struct
incl_file
,
entry
)
{
char
*
obj
=
xstrdup
(
source
->
name
);
...
...
@@ -1104,18 +1140,22 @@ static void output_sources(void)
{
/* add source file dependency for parallel makes */
char
*
header
=
strmake
(
"%s.tab.h"
,
obj
);
if
(
find_include_file
(
header
))
{
output
(
"%s.tab.h: %s
\n
"
,
obj
,
source
->
filename
);
output
(
"
\t
$(BISON) $(BISONFLAGS) -p %s_ -o %s.tab.c -d %s
\n
"
,
obj
,
obj
,
source
->
filename
);
output
(
"%s.tab.c: %s %s
\n
"
,
obj
,
source
->
filename
,
header
);
strarray_add
(
&
clean_files
,
strmake
(
"%s.tab.h"
,
obj
));
}
else
output
(
"%s.tab.c: %s
\n
"
,
obj
,
source
->
filename
);
output
(
"
\t
$(BISON) $(BISONFLAGS) -p %s_ -o $@ %s
\n
"
,
obj
,
source
->
filename
);
output
(
"%s.tab.o: %s.tab.c
\n
"
,
obj
,
obj
);
output
(
"
\t
$(CC) -c $(ALLCFLAGS) -o $@ %s.tab.c
\n
"
,
obj
);
strarray_add
(
&
clean_files
,
strmake
(
"%s.tab.c"
,
obj
));
strarray_add
(
&
clean_files
,
strmake
(
"%s.tab.o"
,
obj
));
column
+=
output
(
"%s.tab.o:"
,
obj
);
free
(
header
);
}
...
...
@@ -1125,6 +1165,8 @@ static void output_sources(void)
output
(
"
\t
$(FLEX) $(LEXFLAGS) -o$@ %s
\n
"
,
source
->
filename
);
output
(
"%s.yy.o: %s.yy.c
\n
"
,
obj
,
obj
);
output
(
"
\t
$(CC) -c $(ALLCFLAGS) -o $@ %s.yy.c
\n
"
,
obj
);
strarray_add
(
&
clean_files
,
strmake
(
"%s.yy.c"
,
obj
));
strarray_add
(
&
clean_files
,
strmake
(
"%s.yy.o"
,
obj
));
column
+=
output
(
"%s.yy.o:"
,
obj
);
}
else
if
(
!
strcmp
(
ext
,
"rc"
))
/* resource file */
...
...
@@ -1142,11 +1184,13 @@ static void output_sources(void)
output
(
"
\t
$(WRC) $(RCFLAGS) -o $@ %s
\n
"
,
source
->
filename
);
column
+=
output
(
"%s.res:"
,
obj
);
}
strarray_add
(
&
clean_files
,
strmake
(
"%s.res"
,
obj
));
}
else
if
(
!
strcmp
(
ext
,
"mc"
))
/* message file */
{
output
(
"%s.res: $(WMC) $(ALL_MO_FILES) %s
\n
"
,
obj
,
source
->
filename
);
output
(
"
\t
$(WMC) -U -O res $(PORCFLAGS) -o $@ %s
\n
"
,
source
->
filename
);
strarray_add
(
&
clean_files
,
strmake
(
"%s.res"
,
obj
));
mc_srcs
++
;
column
+=
output
(
"msg.pot %s.res:"
,
obj
);
}
...
...
@@ -1168,7 +1212,7 @@ static void output_sources(void)
for
(
i
=
0
;
i
<
nb_targets
;
i
++
)
{
column
+=
output
(
"%s%c"
,
targets
[
i
],
i
<
nb_targets
-
1
?
' '
:
':'
);
free
(
targets
[
i
]
);
strarray_add
(
&
clean_files
,
targets
[
i
]
);
}
column
+=
output
(
" %s"
,
source
->
filename
);
}
...
...
@@ -1181,16 +1225,12 @@ static void output_sources(void)
struct
object_extension
*
ext
;
LIST_FOR_EACH_ENTRY
(
ext
,
&
object_extensions
,
struct
object_extension
,
entry
)
{
strarray_add
(
&
clean_files
,
strmake
(
"%s.%s"
,
obj
,
ext
->
extension
));
output
(
"%s.%s: %s
\n
"
,
obj
,
ext
->
extension
,
source
->
filename
);
if
(
strstr
(
ext
->
extension
,
"cross"
))
{
output
(
"%s.%s: %s
\n
"
,
obj
,
ext
->
extension
,
source
->
filename
);
output
(
"
\t
$(CROSSCC) -c $(ALLCROSSCFLAGS) -o $@ %s
\n
"
,
source
->
filename
);
}
else
{
output
(
"%s.%s: %s
\n
"
,
obj
,
ext
->
extension
,
source
->
filename
);
output
(
"
\t
$(CC) -c $(ALLCFLAGS) -o $@ %s
\n
"
,
source
->
filename
);
}
}
LIST_FOR_EACH_ENTRY
(
ext
,
&
object_extensions
,
struct
object_extension
,
entry
)
column
+=
output
(
"%s.%s "
,
obj
,
ext
->
extension
);
...
...
@@ -1215,6 +1255,7 @@ static void output_sources(void)
LIST_FOR_EACH_ENTRY
(
source
,
&
sources
,
struct
incl_file
,
entry
)
if
(
source
->
flags
&
FLAG_RC_PO
)
output_filename
(
source
->
filename
,
&
column
);
output
(
"
\n
"
);
strarray_add
(
&
clean_files
,
"rsrc.pot"
);
}
if
(
mc_srcs
)
...
...
@@ -1227,6 +1268,7 @@ static void output_sources(void)
LIST_FOR_EACH_ENTRY
(
source
,
&
sources
,
struct
incl_file
,
entry
)
if
(
strendswith
(
source
->
name
,
".mc"
))
output_filename
(
source
->
filename
,
&
column
);
output
(
"
\n
"
);
strarray_add
(
&
clean_files
,
"msg.pot"
);
}
if
(
find_src_file
(
"dlldata.o"
))
...
...
@@ -1236,6 +1278,7 @@ static void output_sources(void)
LIST_FOR_EACH_ENTRY
(
source
,
&
sources
,
struct
incl_file
,
entry
)
if
(
source
->
flags
&
FLAG_IDL_PROXY
)
output_filename
(
source
->
filename
,
&
column
);
output
(
"
\n
"
);
strarray_add
(
&
clean_files
,
"dlldata.c"
);
}
if
(
find_src_file
(
"testlist.o"
))
...
...
@@ -1246,6 +1289,15 @@ static void output_sources(void)
if
(
strendswith
(
source
->
name
,
".c"
)
&&
!
is_generated_idl
(
source
))
output_filename
(
source
->
filename
,
&
column
);
output
(
"
\n
"
);
strarray_add
(
&
clean_files
,
"testlist.c"
);
}
if
(
clean_files
.
count
)
{
output
(
"clean::
\n
"
);
column
=
output
(
"
\t
$(RM)"
);
for
(
i
=
0
;
i
<
clean_files
.
count
;
i
++
)
output_filename
(
clean_files
.
str
[
i
],
&
column
);
output
(
"
\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