diff --git a/.gitignore b/.gitignore index 58fc2ab5fc3..cb7dc40e06d 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ /tags /wine Makefile +dlldata.c dlls/Makedll.rules dlls/Makeimplib.rules dlls/Maketest.rules diff --git a/Make.rules.in b/Make.rules.in index 757fff5511b..24d34dbc0f3 100644 --- a/Make.rules.in +++ b/Make.rules.in @@ -114,7 +114,7 @@ IDL_GEN_C_SRCS = $(IDL_C_SRCS:.idl=_c.c) $(IDL_I_SRCS:.idl=_i.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_TARGETS = $(IDL_GEN_C_SRCS) $(IDL_GEN_HEADERS) $(IDL_TLB_SRCS:.idl=.tlb) \ +CLEAN_TARGETS = $(IDL_GEN_C_SRCS) $(IDL_GEN_HEADERS) $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_P_SRCS:%=dlldata.c) \ $(BISON_SRCS:.y=.tab.c) $(BISON_SRCS:.y=.tab.h) $(LEX_SRCS:.l=.yy.c) \ $(MC_SRCS:.mc=.mc.rc) $(RC_SRCS:.rc=.res) $(RC_SRCS16:.rc=.res) @@ -193,6 +193,11 @@ filter: dummy .PHONY: all filter +# Rules for IDL files + +dlldata.c: $(WIDL) Makefile.in + $(WIDL) $(IDLFLAGS) --dlldata-only --dlldata=$@ $(IDL_P_SRCS) + # Rules for resources $(RC_SRCS:.rc=.res) $(RC_SRCS16:.rc=.res): $(WRC) $(IDL_TLB_SRCS:.idl=.tlb) diff --git a/tools/make_makefiles b/tools/make_makefiles index 847a45ea1b9..c988d747150 100755 --- a/tools/make_makefiles +++ b/tools/make_makefiles @@ -77,6 +77,7 @@ my @ignores = ( "/TAGS", "/tags", "Makefile", + "dlldata.c", "include/config.h", "include/stamp-h" ); diff --git a/tools/widl/widl.c b/tools/widl/widl.c index 0dcc0690bde..79456942609 100644 --- a/tools/widl/widl.c +++ b/tools/widl/widl.c @@ -225,7 +225,7 @@ typedef struct static void add_filename_node(struct list *list, const char *name) { filename_node_t *node = xmalloc(sizeof *node); - node->filename = xstrdup(name); + node->filename = dup_basename( name, ".idl" ); list_add_tail(list, &node->link); }