Commit 908dada6 authored by Alexandre Julliard's avatar Alexandre Julliard

makedep: Generate rules for static libraries.

parent a37ef65e
...@@ -27,20 +27,6 @@ OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o) $(IDL_GEN_C_ ...@@ -27,20 +27,6 @@ OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o) $(IDL_GEN_C_
CROSSOBJS = $(OBJS:.o=.cross.o) CROSSOBJS = $(OBJS:.o=.cross.o)
ALLCROSSCFLAGS = $(DEFS) -DWINE_CROSSTEST $(CPPFLAGS) $(CFLAGS) ALLCROSSCFLAGS = $(DEFS) -DWINE_CROSSTEST $(CPPFLAGS) $(CFLAGS)
# Rules for static libraries
all: $(STATICLIB)
$(STATICLIB): $(OBJS)
$(RM) $@
$(AR) $(ARFLAGS) $@ $(OBJS)
$(RANLIB) $@
$(STATICLIB:.a=.cross.a): $(CROSSOBJS)
$(RM) $@
$(CROSSAR) $(ARFLAGS) $@ $(CROSSOBJS)
$(CROSSRANLIB) $@
# Rules for dependencies # Rules for dependencies
depend: dummy depend: dummy
......
...@@ -49,8 +49,6 @@ CROSSTARGET = @CROSSTARGET@ ...@@ -49,8 +49,6 @@ CROSSTARGET = @CROSSTARGET@
LINGUAS = @LINGUAS@ LINGUAS = @LINGUAS@
ALL_MO_FILES = $(LINGUAS:%=@top_builddir@/po/%.mo) ALL_MO_FILES = $(LINGUAS:%=@top_builddir@/po/%.mo)
PORCFLAGS = @PORCFLAGS@ PORCFLAGS = @PORCFLAGS@
CROSSAR = $(CROSSTARGET)-ar
CROSSRANLIB = $(CROSSTARGET)-ranlib
BUILDIMAGE = $(top_srcdir)/tools/buildimage BUILDIMAGE = $(top_srcdir)/tools/buildimage
C2MAN = $(top_srcdir)/tools/c2man.pl C2MAN = $(top_srcdir)/tools/c2man.pl
RUNTEST = $(top_srcdir)/tools/runtest RUNTEST = $(top_srcdir)/tools/runtest
......
...@@ -16549,7 +16549,6 @@ MAKE_IMPLIB_RULES="DLLFLAGS = $DLLFLAGS ...@@ -16549,7 +16549,6 @@ MAKE_IMPLIB_RULES="DLLFLAGS = $DLLFLAGS
if test -n "$CROSSTARGET" if test -n "$CROSSTARGET"
then then
as_fn_append MAKE_IMPLIB_RULES "MAKEDEPFLAGS = -xo -xcross.o as_fn_append MAKE_IMPLIB_RULES "MAKEDEPFLAGS = -xo -xcross.o
all: \$(STATICLIB:.a=.cross.a)
" "
fi fi
...@@ -17410,7 +17409,6 @@ zh_TW" ...@@ -17410,7 +17409,6 @@ zh_TW"
wine_fn_ignore_file "*.a"
wine_fn_ignore_file "*.exe" wine_fn_ignore_file "*.exe"
test -n "$DLLEXT" && wine_fn_ignore_file "*$DLLEXT" test -n "$DLLEXT" && wine_fn_ignore_file "*$DLLEXT"
wine_fn_ignore_file ".gitignore" wine_fn_ignore_file ".gitignore"
......
...@@ -2607,7 +2607,6 @@ AC_SUBST(MAKE_IMPLIB_RULES,"DLLFLAGS = $DLLFLAGS ...@@ -2607,7 +2607,6 @@ AC_SUBST(MAKE_IMPLIB_RULES,"DLLFLAGS = $DLLFLAGS
if test -n "$CROSSTARGET" if test -n "$CROSSTARGET"
then then
AS_VAR_APPEND([MAKE_IMPLIB_RULES],"MAKEDEPFLAGS = -xo -xcross.o AS_VAR_APPEND([MAKE_IMPLIB_RULES],"MAKEDEPFLAGS = -xo -xcross.o
all: \$(STATICLIB:.a=.cross.a)
") ")
fi fi
...@@ -3456,7 +3455,6 @@ dnl End of auto-generated output commands ...@@ -3456,7 +3455,6 @@ dnl End of auto-generated output commands
dnl Main ignore file dnl Main ignore file
WINE_IGNORE_FILE("*.a")
WINE_IGNORE_FILE("*.exe") WINE_IGNORE_FILE("*.exe")
test -n "$DLLEXT" && WINE_IGNORE_FILE("*$DLLEXT") test -n "$DLLEXT" && WINE_IGNORE_FILE("*$DLLEXT")
WINE_IGNORE_FILE(".gitignore") WINE_IGNORE_FILE(".gitignore")
......
...@@ -1386,6 +1386,7 @@ static struct strarray output_sources(void) ...@@ -1386,6 +1386,7 @@ static struct strarray output_sources(void)
char *module = get_expanded_make_variable( "MODULE" ); char *module = get_expanded_make_variable( "MODULE" );
char *exeext = get_expanded_make_variable( "EXEEXT" ); char *exeext = get_expanded_make_variable( "EXEEXT" );
char *appmode = get_expanded_make_variable( "APPMODE" ); char *appmode = get_expanded_make_variable( "APPMODE" );
char *staticlib = get_expanded_make_variable( "STATICLIB" );
char *crosstarget = get_expanded_make_variable( "CROSSTARGET" ); char *crosstarget = get_expanded_make_variable( "CROSSTARGET" );
if (exeext && !strcmp( exeext, ".exe" )) dllext = ""; if (exeext && !strcmp( exeext, ".exe" )) dllext = "";
...@@ -1749,6 +1750,29 @@ static struct strarray output_sources(void) ...@@ -1749,6 +1750,29 @@ static struct strarray output_sources(void)
} }
} }
if (staticlib)
{
strarray_add( &all_targets, staticlib );
output( "%s:", staticlib );
output_filenames( object_files );
output( "\n\t$(RM) $@\n" );
output( "\t$(AR) $(ARFLAGS) $@" );
output_filenames( object_files );
output( "\n\t$(RANLIB) $@\n" );
if (crosstarget && object_extensions.count > 1)
{
char *name = replace_extension( staticlib, ".a", ".cross.a" );
strarray_add( &all_targets, name );
output( "%s:", name );
output_filenames( crossobj_files );
output( "\n\t$(RM) $@\n" );
output( "\t%s-ar $(ARFLAGS) $@", crosstarget );
output_filenames( crossobj_files );
output( "\n\t%s-ranlib $@\n", crosstarget );
}
}
if (is_test) if (is_test)
{ {
struct strarray ok_files = strarray_replace_extension( &test_files, ".c", ".ok" ); struct strarray ok_files = strarray_replace_extension( &test_files, ".c", ".ok" );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment