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
25b08106
Commit
25b08106
authored
Oct 15, 2013
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
makefiles: Generate explicit build rules for resource files from makedep.
parent
da4c49c7
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
53 additions
and
17 deletions
+53
-17
Make.rules.in
Make.rules.in
+2
-13
Makefile.in
programs/winetest/Makefile.in
+2
-1
makedep.c
tools/makedep.c
+49
-3
No files found.
Make.rules.in
View file @
25b08106
...
@@ -36,7 +36,7 @@ CROSSOBJS = $(OBJS:.o=.cross.o)
...
@@ -36,7 +36,7 @@ CROSSOBJS = $(OBJS:.o=.cross.o)
# Implicit rules
# Implicit rules
.SUFFIXES: .
rc .res .
idl .tlb .h .ok .man.in .man _c.c _i.c _p.c _s.c _r.res _t.res .cross.o .po .mo @MAINTAINER_MODE@ .sfd .ttf .svg .ico .bmp
.SUFFIXES: .idl .tlb .h .ok .man.in .man _c.c _i.c _p.c _s.c _r.res _t.res .cross.o .po .mo @MAINTAINER_MODE@ .sfd .ttf .svg .ico .bmp
.c.o:
.c.o:
$(CC) -c $(ALLCFLAGS) -o $@ $<
$(CC) -c $(ALLCFLAGS) -o $@ $<
...
@@ -47,9 +47,6 @@ CROSSOBJS = $(OBJS:.o=.cross.o)
...
@@ -47,9 +47,6 @@ CROSSOBJS = $(OBJS:.o=.cross.o)
.c.cross.o:
.c.cross.o:
$(CROSSCC) -c $(INCLUDES) $(DEFS) -DWINE_CROSSTEST $(CPPFLAGS) $(CFLAGS) -o $@ $<
$(CROSSCC) -c $(INCLUDES) $(DEFS) -DWINE_CROSSTEST $(CPPFLAGS) $(CFLAGS) -o $@ $<
.rc.res:
$(WRC) $(RCFLAGS) -o $@ $<
.idl.h:
.idl.h:
$(WIDL) $(IDLFLAGS) -h -o $@ $<
$(WIDL) $(IDLFLAGS) -h -o $@ $<
...
@@ -131,7 +128,7 @@ $(IMPORTLIB:%=lib%.cross.a): $(MAINSPEC) $(IMPLIB_SRCS:.c=.cross.o)
...
@@ -131,7 +128,7 @@ $(IMPORTLIB:%=lib%.cross.a): $(MAINSPEC) $(IMPLIB_SRCS:.c=.cross.o)
# Rules for dependencies
# Rules for dependencies
DEPEND_SRCS = $(C_SRCS) $(OBJC_SRCS) $(RC_SRCS) $(MC_SRCS) \
DEPEND_SRCS = $(C_SRCS) $(OBJC_SRCS) $(RC_SRCS) $(MC_SRCS)
$(PO_SRCS:.rc=.pot)
\
$(IDL_H_SRCS) $(IDL_C_SRCS) $(IDL_I_SRCS) $(IDL_P_SRCS) $(IDL_S_SRCS) \
$(IDL_H_SRCS) $(IDL_C_SRCS) $(IDL_I_SRCS) $(IDL_P_SRCS) $(IDL_S_SRCS) \
$(IDL_GEN_C_SRCS) $(IDL_R_SRCS:.idl=_r.res) $(IDL_TLB_SRCS) $(IDL_TLB_SRCS:.idl=.tlb) \
$(IDL_GEN_C_SRCS) $(IDL_R_SRCS:.idl=_r.res) $(IDL_TLB_SRCS) $(IDL_TLB_SRCS:.idl=.tlb) \
$(BISON_SRCS) $(LEX_SRCS) $(EXTRA_OBJS)
$(BISON_SRCS) $(LEX_SRCS) $(EXTRA_OBJS)
...
@@ -210,14 +207,6 @@ install install-lib install-dev uninstall::
...
@@ -210,14 +207,6 @@ install install-lib install-dev uninstall::
.PHONY: install install-lib install-dev uninstall
.PHONY: install install-lib install-dev uninstall
# Rules for resources
rsrc.pot: $(WRC)
$(WRC) $(RCFLAGS) -O pot -o $@ $(PO_SRCS)
$(RC_SRCS:.rc=.res): $(WRC)
$(PO_SRCS:.rc=.res): $(ALL_MO_FILES)
# Misc. rules
# Misc. rules
$(IDL_GEN_HEADERS) $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_TLB_RES) $(IDL_R_SRCS:.idl=_r.res): $(WIDL)
$(IDL_GEN_HEADERS) $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_TLB_RES) $(IDL_R_SRCS:.idl=_r.res): $(WIDL)
...
...
programs/winetest/Makefile.in
View file @
25b08106
...
@@ -25,6 +25,7 @@ build.rc: dummy
...
@@ -25,6 +25,7 @@ build.rc: dummy
build.nfo
:
build.nfo
:
-
$(CC)
-v
2>
$@
-
$(CC)
-v
2>
$@
build.res
:
build.nfo
build.res
:
build.rc build.nfo
$(WRC)
$(RCFLAGS)
-o
$@
build.rc
@MAKE_PROG_RULES@
@MAKE_PROG_RULES@
tools/makedep.c
View file @
25b08106
...
@@ -96,6 +96,7 @@ static const char Usage[] =
...
@@ -96,6 +96,7 @@ static const char Usage[] =
static
void
fatal_error
(
const
char
*
msg
,
...
)
__attribute__
((
__format__
(
__printf__
,
1
,
2
)));
static
void
fatal_error
(
const
char
*
msg
,
...
)
__attribute__
((
__format__
(
__printf__
,
1
,
2
)));
static
void
fatal_perror
(
const
char
*
msg
,
...
)
__attribute__
((
__format__
(
__printf__
,
1
,
2
)));
static
void
fatal_perror
(
const
char
*
msg
,
...
)
__attribute__
((
__format__
(
__printf__
,
1
,
2
)));
static
int
output
(
const
char
*
format
,
...
)
__attribute__
((
__format__
(
__printf__
,
1
,
2
)));
static
int
output
(
const
char
*
format
,
...
)
__attribute__
((
__format__
(
__printf__
,
1
,
2
)));
static
char
*
strmake
(
const
char
*
fmt
,
...
)
__attribute__
((
__format__
(
__printf__
,
1
,
2
)));
/*******************************************************************
/*******************************************************************
* fatal_error
* fatal_error
...
@@ -341,6 +342,24 @@ static struct incl_file *find_include_file( const char *name )
...
@@ -341,6 +342,24 @@ static struct incl_file *find_include_file( const char *name )
}
}
/*******************************************************************
/*******************************************************************
* find_target_src_file
*
* Check if we have a source file as a target for the specified source with a different extension.
*/
static
struct
incl_file
*
find_target_src_file
(
const
char
*
name
,
const
char
*
ext
)
{
struct
incl_file
*
ret
;
char
*
p
,
*
match
=
xmalloc
(
strlen
(
name
)
+
strlen
(
ext
)
+
1
);
strcpy
(
match
,
name
);
if
((
p
=
get_extension
(
match
)))
strcpy
(
p
,
ext
);
else
strcat
(
match
,
ext
);
ret
=
find_src_file
(
match
);
free
(
match
);
return
ret
;
}
/*******************************************************************
* add_include
* add_include
*
*
* Add an include file if it doesn't already exists.
* Add an include file if it doesn't already exists.
...
@@ -858,6 +877,7 @@ static void parse_file( struct incl_file *source, int src )
...
@@ -858,6 +877,7 @@ static void parse_file( struct incl_file *source, int src )
/* don't try to open certain types of files */
/* don't try to open certain types of files */
if
(
strendswith
(
source
->
name
,
".tlb"
)
||
if
(
strendswith
(
source
->
name
,
".tlb"
)
||
strendswith
(
source
->
name
,
".res"
)
||
strendswith
(
source
->
name
,
".res"
)
||
strendswith
(
source
->
name
,
".pot"
)
||
strendswith
(
source
->
name
,
".x"
))
strendswith
(
source
->
name
,
".x"
))
{
{
source
->
filename
=
xstrdup
(
source
->
name
);
source
->
filename
=
xstrdup
(
source
->
name
);
...
@@ -926,7 +946,7 @@ static void output_include( struct incl_file *pFile, struct incl_file *owner, in
...
@@ -926,7 +946,7 @@ static void output_include( struct incl_file *pFile, struct incl_file *owner, in
static
void
output_sources
(
void
)
static
void
output_sources
(
void
)
{
{
struct
incl_file
*
source
;
struct
incl_file
*
source
;
int
i
,
column
,
mc_srcs
=
0
;
int
i
,
column
,
po_srcs
=
0
,
mc_srcs
=
0
;
LIST_FOR_EACH_ENTRY
(
source
,
&
sources
,
struct
incl_file
,
entry
)
LIST_FOR_EACH_ENTRY
(
source
,
&
sources
,
struct
incl_file
,
entry
)
{
{
...
@@ -962,7 +982,19 @@ static void output_sources(void)
...
@@ -962,7 +982,19 @@ static void output_sources(void)
}
}
else
if
(
!
strcmp
(
ext
,
"rc"
))
/* resource file */
else
if
(
!
strcmp
(
ext
,
"rc"
))
/* resource file */
{
{
column
+=
output
(
"rsrc.pot %s.res: %s"
,
obj
,
source
->
filename
);
if
(
find_target_src_file
(
source
->
name
,
".pot"
))
{
output
(
"%s.res: $(WRC) $(ALL_MO_FILES) %s
\n
"
,
obj
,
source
->
filename
);
output
(
"
\t
$(WRC) $(RCFLAGS) -o $@ %s
\n
"
,
source
->
filename
);
column
+=
output
(
"%s.res rsrc.pot:"
,
obj
);
po_srcs
++
;
}
else
{
output
(
"%s.res: $(WRC) %s
\n
"
,
obj
,
source
->
filename
);
output
(
"
\t
$(WRC) $(RCFLAGS) -o $@ %s
\n
"
,
source
->
filename
);
column
+=
output
(
"%s.res:"
,
obj
);
}
}
}
else
if
(
!
strcmp
(
ext
,
"mc"
))
/* message file */
else
if
(
!
strcmp
(
ext
,
"mc"
))
/* message file */
{
{
...
@@ -1004,7 +1036,7 @@ static void output_sources(void)
...
@@ -1004,7 +1036,7 @@ static void output_sources(void)
column
+=
output
(
": %s"
,
source
->
filename
);
column
+=
output
(
": %s"
,
source
->
filename
);
}
}
else
if
(
!
strcmp
(
ext
,
"tlb"
)
||
!
strcmp
(
ext
,
"res"
))
else
if
(
!
strcmp
(
ext
,
"tlb"
)
||
!
strcmp
(
ext
,
"res"
)
||
!
strcmp
(
ext
,
"pot"
)
)
{
{
continue
;
/* nothing to do for typelib files */
continue
;
/* nothing to do for typelib files */
}
}
...
@@ -1024,6 +1056,20 @@ static void output_sources(void)
...
@@ -1024,6 +1056,20 @@ static void output_sources(void)
/* rules for files that depend on multiple sources */
/* rules for files that depend on multiple sources */
if
(
po_srcs
)
{
column
=
output
(
"rsrc.pot: $(WRC)"
);
LIST_FOR_EACH_ENTRY
(
source
,
&
sources
,
struct
incl_file
,
entry
)
if
(
strendswith
(
source
->
name
,
".rc"
)
&&
find_target_src_file
(
source
->
name
,
".pot"
))
output_filename
(
source
->
filename
,
&
column
);
output
(
"
\n
"
);
column
=
output
(
"
\t
$(WRC) $(RCFLAGS) -O pot -o $@"
);
LIST_FOR_EACH_ENTRY
(
source
,
&
sources
,
struct
incl_file
,
entry
)
if
(
strendswith
(
source
->
name
,
".rc"
)
&&
find_target_src_file
(
source
->
name
,
".pot"
))
output_filename
(
source
->
filename
,
&
column
);
output
(
"
\n
"
);
}
if
(
mc_srcs
)
if
(
mc_srcs
)
{
{
column
=
output
(
"msg.pot: $(WMC)"
);
column
=
output
(
"msg.pot: $(WMC)"
);
...
...
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