4 Replies Latest reply: May 11, 2013 5:23 PM by 877616 RSS

    Make is compiling files multiple times causing a compilation error

    877616
      I'm trying to compile Wine ver 1.3.13 using Solaris Studio 12.3 with the default tools and I'm getting very peculiar results.

      dmake: defaulting to parallel mode.
      See the man page dmake(1) for more information on setting up the .dmakerc file.
      config.status: creating tools/Makefile
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../include -I../include -I/usr/include/freetype2 -D__WINESRC__ -g -D__i386__ -o makedep.o makedep.c
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../include -I../include -I/usr/include/freetype2 -D__WINESRC__ -g -D__i386__ -o makedep.o makedep.c
      /opt/solarisstudio12.3/bin/cc -g -D__i386__ -o makedep makedep.o
      ../tools/makedep -C. -S.. -T.. -I/usr/include/freetype2 fnt2bdf.c fnt2fon.c make_ctests.c makedep.c relpath.c sfnt2fnt.c
      `makedep' is up to date.
      config.status: creating dlls/acledit/Makefile
      ../../tools/makedep -C. -S../.. -T../.. main.c
      config.status: creating libs/port/Makefile
      ../../tools/makedep -C. -S../.. -T../.. ffs.c fstatvfs.c futimes.c getopt.c getopt1.c getpagesize.c interlocked.c isinf.c isnan.c lstat.c memcpy_unaligned.c memmove.c mkstemps.c poll.c pread.c pwrite.c readlink.c spawn.c statvfs.c strcasecmp.c strerror.c strncasecmp.c symlink.c usleep.c
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DWINE_UNICODE_API="" -D_REENTRANT -fPIC -g -D__i386__ -o c_037.o c_037.c <---- first example
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DWINE_UNICODE_API="" -D_REENTRANT -fPIC -g -D__i386__ -o c_10000.o c_10000.c <---- second example
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DWINE_UNICODE_API="" -D_REENTRANT -fPIC -g -D__i386__ -o c_10000.o c_10000.c <---- again
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DWINE_UNICODE_API="" -D_REENTRANT -fPIC -g -D__i386__ -o c_10006.o c_10006.c
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DWINE_UNICODE_API="" -D_REENTRANT -fPIC -g -D__i386__ -o c_037.o c_037.c <---- here it is again
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DWINE_UNICODE_API="" -D_REENTRANT -fPIC -g -D__i386__ -o c_10007.o c_10007.c
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DWINE_UNICODE_API="" -D_REENTRANT -fPIC -g -D__i386__ -o c_10006.o c_10006.c
      ...
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DWINE_UNICODE_API="" -D_REENTRANT -fPIC -g -D__i386__ -o ldt.o ldt.c
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DWINE_UNICODE_API="" -D_REENTRANT -fPIC -g -D__i386__ -o debug.o debug.c
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DWINE_UNICODE_API="" -D_REENTRANT -fPIC -g -D__i386__ -o loader.o loader.c
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DWINE_UNICODE_API="" -D_REENTRANT -fPIC -g -D__i386__ -o ldt.o ldt.c
      "ldt.c", line 211: warning: statement not reached
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DWINE_UNICODE_API="" -D_REENTRANT -fPIC -g -D__i386__ -o mbtowc.o mbtowc.c
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DWINE_UNICODE_API="" -D_REENTRANT -fPIC -g -D__i386__ -o loader.o loader.c
      "loader.c", line 827: warning: assignment type mismatch:
           pointer to function(void) returning void "=" pointer to void
      ...
      version=`(GIT_DIR=../../.git git describe HEAD 2>/dev/null || echo "wine-1.3.13") | sed -n -e '$s/\(.*\)/const char wine_build[] = "\1";/p'` && (echo $version | cmp -s - version.c) || echo $version >version.c || (rm -f version.c && exit 1)
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DWINE_UNICODE_API="" -D_REENTRANT -fPIC -g -D__i386__ -o version.o version.c
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DWINE_UNICODE_API="" -D_REENTRANT -fPIC -g -D__i386__ -o wctype.o wctype.c
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DWINE_UNICODE_API="" -D_REENTRANT -fPIC -g -D__i386__ -o version.o version.c
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../include -I../include -I/usr/include/freetype2 -D__WINESRC__ -g -D__i386__ -o relpath.o relpath.c
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../include -I../include -I/usr/include/freetype2 -D__WINESRC__ -g -D__i386__ -o relpath.o relpath.c
      /opt/solarisstudio12.3/bin/cc -g -D__i386__ -o relpath relpath.o ../libs/port/libwine_port.a
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DWINE_UNICODE_API="" -D_REENTRANT -fPIC -g -D__i386__ -o config.o ./config.c -DBINDIR='"/usr/local/bin"' -DDLLDIR='"/usr/local/lib/wine"' -DLIB_TO_BINDIR=\"`../../tools/relpath /usr/local/lib /usr/local/bin`\" -DLIB_TO_DLLDIR=\"`../../tools/relpath /usr/local/lib /usr/local/lib/wine`\" -DBIN_TO_DLLDIR=\"`../../tools/relpath /usr/local/bin /usr/local/lib/wine`\" -DBIN_TO_DATADIR=\"`../../tools/relpath /usr/local/bin /usr/local/share/wine`\"
      /opt/solarisstudio12.3/bin/cc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -DWINE_UNICODE_API="" -D_REENTRANT -fPIC -g -D__i386__ -o config.o ./config.c -DBINDIR='"/usr/local/bin"' -DDLLDIR='"/usr/local/lib/wine"' -DLIB_TO_BINDIR=\"`../../tools/relpath /usr/local/lib /usr/local/bin`\" -DLIB_TO_DLLDIR=\"`../../tools/relpath /usr/local/lib /usr/local/lib/wine`\" -DBIN_TO_DLLDIR=\"`../../tools/relpath /usr/local/bin /usr/local/lib/wine`\" -DBIN_TO_DATADIR=\"`../../tools/relpath /usr/local/bin /usr/local/share/wine`\"
      "./config.c", line 134: warning: argument #1 is incompatible with prototype:
           prototype: pointer to void : "/usr/include/dlfcn.h", line 104
           argument : pointer to function(void) returning pointer to char
      /opt/solarisstudio12.3/bin/cc -shared -Wl,-soname,libwine.so.1 c_037.o c_10000.o c_10006.o c_10007.o c_10029.o c_1006.o c_10079.o c_10081.o c_1026.o c_1250.o c_1251.o c_1252.o c_1253.o c_1254.o c_1255.o c_1256.o c_1257.o c_1258.o c_1361.o c_20127.o c_20866.o c_20932.o c_21866.o c_28591.o c_28592.o c_28593.o c_28594.o c_28595.o c_28596.o c_28597.o c_28598.o c_28599.o c_28600.o c_28603.o c_28604.o c_28605.o c_28606.o c_424.o c_437.o c_500.o c_737.o c_775.o c_850.o c_852.o c_855.o c_856.o c_857.o c_860.o c_861.o c_862.o c_863.o c_864.o c_865.o c_866.o c_869.o c_874.o c_875.o c_878.o c_932.o c_936.o c_949.o c_950.o casemap.o collation.o compose.o config.o cptable.o debug.o fold.o ldt.o loader.o mbtowc.o mmap.o port.o sortkey.o string.o utf8.o wctomb.o wctype.o version.o ../../libs/port/libwine_port.a -lsocket -lnsl -o libwine.so.1.0 <--- and here's where things start to go wrong
      /opt/solarisstudio12.3/bin/cc -shared -Wl,-soname,libwine.so.1 c_037.o c_10000.o c_10006.o c_10007.o c_10029.o c_1006.o c_10079.o c_10081.o c_1026.o c_1250.o c_1251.o c_1252.o c_1253.o c_1254.o c_1255.o c_1256.o c_1257.o c_1258.o c_1361.o c_20127.o c_20866.o c_20932.o c_21866.o c_28591.o c_28592.o c_28593.o c_28594.o c_28595.o c_28596.o c_28597.o c_28598.o c_28599.o c_28600.o c_28603.o c_28604.o c_28605.o c_28606.o c_424.o c_437.o c_500.o c_737.o c_775.o c_850.o c_852.o c_855.o c_856.o c_857.o c_860.o c_861.o c_862.o c_863.o c_864.o c_865.o c_866.o c_869.o c_874.o c_875.o c_878.o c_932.o c_936.o c_949.o c_950.o casemap.o collation.o compose.o config.o cptable.o debug.o fold.o ldt.o loader.o mbtowc.o mmap.o port.o sortkey.o string.o utf8.o wctomb.o wctype.o version.o ../../libs/port/libwine_port.a -lsocket -lnsl -o libwine.so.1.0 <--- permanent failure
      ld: fatal: symbol 'global_asm0' is multiply-defined:
           (file ldt.o type=FUNC; file port.o type=FUNC);
      ld: fatal: file processing errors. No output written to libwine.so.1.0
      *** Error code 2
      dmake: Fatal error: Command failed for target `libwine.so.1.0'
      Current working directory /export/aux/winaux/downloads/wine-1.3.13/libs/wine
      *** Error code 1
      The following command caused the error:
      cd libs/wine && /opt/solarisstudio12.3/bin/dmake
      dmake: Fatal error: Command failed for target `libs/wine'

      MAKE FAILED (exit value 1, total time: 6s)
        • 1. Re: Make is compiling files multiple times causing a compilation error
          877616
          # libs/wine/Makefile. Generated from Makefile.in by configure. --Makefile--

          prefix = /usr/local
          exec_prefix = ${prefix}
          bindir = ${exec_prefix}/bin
          libdir = ${exec_prefix}/lib
          datarootdir = ${prefix}/share
          datadir = ${datarootdir}
          infodir = ${datarootdir}/info
          mandir = ${datarootdir}/man
          sysconfdir = ${prefix}/etc
          fontdir = $(datadir)/wine/fonts
          includedir = ${prefix}/include/wine
          dlldir = ${exec_prefix}/lib/wine
          fakedlldir = $(dlldir)/fakedlls
          top_srcdir = ../..
          top_builddir = ../..
          srcdir = .

          SHELL = /bin/sh
          RM = rm -f
          MV = mv
          CC = /opt/solarisstudio12.3/bin/cc
          CROSSCC = false
          CFLAGS = -g -D__i386__
          CPPFLAGS =
          EXTRACFLAGS =
          TARGETFLAGS =
          LIBS = -lsocket -lnsl
          BISON = bison
          FLEX = flex
          EXEEXT =
          OBJEXT = o
          LIBEXT = so
          DLLEXT = .so
          FAKEEXT = $(DLLEXT:.so=.fake)
          TOOLSEXT =
          IMPLIBEXT = def
          DLLTOOL =
          DLLWRAP =
          AR = ar
          ARFLAGS = rc
          RANLIB = ranlib
          STRIP = strip
          LN_S = ln -s
          TOOLSDIR = $(top_builddir)
          LDFLAGS =
          PRELINK = false
          LINT = lint
          LINTFLAGS = -errchk=%all,no%longptr64 -errhdr=%user -Ncheck=macro -Nlevel=4 -D__i386__
          FONTFORGE = false
          RSVG = rsvg
          CONVERT = convert
          ICOTOOL = false
          CROSSTARGET =
          LINGUAS = ar bg ca cs da de el en en_US eo es fa fi fr he hi hu it ja ko lt ml nb_NO nl or pa pl pt_BR pt_PT rm ro ru sk sl sr_RS@cyrillic sr_RS@latin sv te th tr uk wa zh_CN zh_TW
          ALL_PO_FILES = $(LINGUAS:%=../../po/%.po)
          CROSSAR = $(CROSSTARGET)-ar
          CROSSRANLIB = $(CROSSTARGET)-ranlib
          MKINSTALLDIRS = $(top_srcdir)/tools/mkinstalldirs -m 755
          WINAPI_CHECK = $(top_srcdir)/tools/winapi/winapi_check
          BUILDIMAGE = $(top_srcdir)/tools/buildimage
          C2MAN = $(top_srcdir)/tools/c2man.pl
          RUNTEST = $(top_srcdir)/tools/runtest
          MAKECTESTS = $(TOOLSDIR)/tools/make_ctests$(TOOLSEXT)
          MAKEDEP = $(TOOLSDIR)/tools/makedep$(TOOLSEXT)
          RELPATH = $(TOOLSDIR)/tools/relpath$(TOOLSEXT)
          SFNT2FNT = $(TOOLSDIR)/tools/sfnt2fnt$(TOOLSEXT)
          WIDL = $(TOOLSDIR)/tools/widl/widl$(TOOLSEXT)
          WINEBUILD = $(TOOLSDIR)/tools/winebuild/winebuild$(TOOLSEXT)
          WMC = $(TOOLSDIR)/tools/wmc/wmc$(TOOLSEXT)
          WRC = $(TOOLSDIR)/tools/wrc/wrc$(TOOLSEXT)
          LIBPORT = $(top_builddir)/libs/port/libwine_port.a
          LIBWPP = $(top_builddir)/libs/wpp/libwpp.a
          LIBWINE = -L$(top_builddir)/libs/wine -lwine
          WINEGCC = $(TOOLSDIR)/tools/winegcc/winegcc $(TARGETFLAGS) -B$(TOOLSDIR)/tools/winebuild --sysroot=$(top_builddir)
          CROSSWINEGCC = $(TOOLSDIR)/tools/winegcc/winegcc $(CROSSTARGET:%=-b %) -B$(TOOLSDIR)/tools/winebuild sysroot=$(top_builddir) lib-suffix=.cross.a
          LDPATH = LD_LIBRARY_PATH="$(TOOLSDIR)/libs/wine:$$LD_LIBRARY_PATH"
          LDRPATH_INSTALL = -Wl,-R,\$$ORIGIN/`$(RELPATH) $(bindir) $(libdir)`
          LDRPATH_LOCAL = -Wl,-R,\$$ORIGIN/$(top_builddir)/libs/wine
          INSTALL = /bin/ginstall -c $(INSTALL_FLAGS)
          INSTALL_PROGRAM = ${INSTALL} $(INSTALL_PROGRAM_FLAGS)
          INSTALL_SCRIPT = ${INSTALL} $(INSTALL_SCRIPT_FLAGS)
          INSTALL_DATA = ${INSTALL} -m 644 $(INSTALL_DATA_FLAGS)
          prog_manext = 1
          api_manext = 3w
          conf_manext = 5


          all:

          # End of common header
          DLLFLAGS = -D_REENTRANT -fPIC
          MODULE = libwine.$(LIBEXT)
          VERSCRIPT = $(srcdir)/wine.map
          EXTRALIBS = $(LIBPORT)
          DEFS = -D__WINESRC__ -DWINE_UNICODE_API=""

          VERSION = 1.0
          SOVERSION = 1
          SONAME = libwine.so.$(SOVERSION)
          DYNAME = libwine.$(SOVERSION).dylib

          INSTALLDIRS = $(DESTDIR)$(libdir)

          C_SRCS = \
               c_037.c \
               c_10000.c \
               c_10006.c \
               c_10007.c \
               c_10029.c \
               c_1006.c \
               c_10079.c \
               c_10081.c \
               c_1026.c \
               c_1250.c \
               c_1251.c \
               c_1252.c \
               c_1253.c \
               c_1254.c \
               c_1255.c \
               c_1256.c \
               c_1257.c \
               c_1258.c \
               c_1361.c \
               c_20127.c \
               c_20866.c \
               c_20932.c \
               c_21866.c \
               c_28591.c \
               c_28592.c \
               c_28593.c \
               c_28594.c \
               c_28595.c \
               c_28596.c \
               c_28597.c \
               c_28598.c \
               c_28599.c \
               c_28600.c \
               c_28603.c \
               c_28604.c \
               c_28605.c \
               c_28606.c \
               c_424.c \
               c_437.c \
               c_500.c \
               c_737.c \
               c_775.c \
               c_850.c \
               c_852.c \
               c_855.c \
               c_856.c \
               c_857.c \
               c_860.c \
               c_861.c \
               c_862.c \
               c_863.c \
               c_864.c \
               c_865.c \
               c_866.c \
               c_869.c \
               c_874.c \
               c_875.c \
               c_878.c \
               c_932.c \
               c_936.c \
               c_949.c \
               c_950.c \
               casemap.c \
               collation.c \
               compose.c \
               config.c \
               cptable.c \
               debug.c \
               fold.c \
               ldt.c \
               loader.c \
               mbtowc.c \
               mmap.c \
               port.c \
               sortkey.c \
               string.c \
               utf8.c \
               wctomb.c \
               wctype.c

          EXTRA_OBJS = version.o

          all: $(MODULE) $(MODULE:.dll=.a)

          # Global rules shared by all makefiles --Makefile--
          #
          # Each individual makefile may define the following variables:
          # C_SRCS : C sources for the module
          # RC_SRCS : resource source files
          # EXTRA_SRCS : extra source files for make depend
          # EXTRA_OBJS : extra object files
          # IMPORTS : dlls to import
          # DELAYIMPORTS : dlls to import in delayed mode
          # EXTRASUBDIRS : subdirectories that do not contain a Makefile
          # MODCFLAGS : extra CFLAGS for this module

          # First some useful definitions

          LDSHARED = $(CC) -shared $(SONAME:%=-Wl,-soname,%)
          INCLUDES = -I$(srcdir) -I. -I$(top_srcdir)/include -I$(top_builddir)/include $(EXTRAINCL)
          ALLCFLAGS = $(INCLUDES) $(DEFS) $(DLLFLAGS) $(EXTRACFLAGS) $(CPPFLAGS) $(CFLAGS) $(MODCFLAGS)
          ALLLINTFLAGS = $(INCLUDES) $(DEFS) $(LINTFLAGS)
          IDLFLAGS = $(INCLUDES) $(DEFS) $(EXTRAIDLFLAGS)
          RCFLAGS = nostdinc po-dir=$(top_srcdir)/po $(TARGETFLAGS) $(INCLUDES) $(DEFS) $(EXTRARCFLAGS)

          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 *.ln *.res *.fake *.$(LIBEXT) \\\#*\\\# *~ *% .\\\#* *.bak *.orig *.rej *.flc core
          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) \
          $(PO_SRCS:%=rsrc.pot) $(MC_SRCS:%=msg.pot)

          OBJS = $(C_SRCS:.c=.o) $(BISON_SRCS:.y=.tab.o) $(LEX_SRCS:.l=.yy.o) $(IDL_GEN_C_SRCS:.c=.o) \
          $(IDL_R_SRCS:.idl=_r.res) $(RC_SRCS:.rc=.res) $(MC_SRCS:.mc=.res) $(EXTRA_OBJS)

          CROSSOBJS = $(OBJS:.o=.cross.o)
          LINTS = $(C_SRCS:.c=.ln)

          filter: dummy
               @$(top_srcdir)/tools/winapi/make_filter --make $(MAKE) all

          .PHONY: all filter

          # Implicit rules

          .SUFFIXES: .mc .rc .res .idl .tlb .h .y .l .tab.c .tab.h .yy.c .ok .man.in .man c.c i.c p.c s.c _r.res .cross.o # .sfd .ttf .svg .ico .bmp

          .c.o:
               $(CC) -c $(ALLCFLAGS) -o $@ $<

          .c.cross.o:
               $(CROSSCC) -c $(INCLUDES) $(DEFS) -DWINE_CROSSTEST $(CPPFLAGS) $(CFLAGS) -o $@ $<

          .y.tab.c:
               $(BISON) $(BISONFLAGS) -p $*_ -o $@ $<

          .y.tab.h:
               $(BISON) $(BISONFLAGS) -p $*_ -o $*.tab.c -d $<

          .l.yy.c:
               $(FLEX) $(LEXFLAGS) -o$@ $<

          .mc.res:
               $(LDPATH) $(WMC) -U -O res -P $(top_srcdir)/po -o $@ $<

          .rc.res:
               $(LDPATH) $(WRC) $(RCFLAGS) -o $@ $<

          .idl.h:
               $(WIDL) $(IDLFLAGS) -h -o $@ $<

          .idl_c.c:
               $(WIDL) $(IDLFLAGS) -c -o $@ $<

          .idl_i.c:
               $(WIDL) $(IDLFLAGS) -u -o $@ $<

          .idl_p.c:
               $(WIDL) $(IDLFLAGS) -p -o $@ $<

          .idl_r.res:
               $(WIDL) $(IDLFLAGS) -r -o $@ $<

          .idl_s.c:
               $(WIDL) $(IDLFLAGS) -s -o $@ $<

          .idl.tlb:
               $(WIDL) $(TARGETFLAGS) $(IDLFLAGS) -t -o $@ $<

          .c.ln:
               $(LINT) -c $(ALLLINTFLAGS) $< || ( $(RM) $@ && exit 1 )

          .c.ok:
               $(RUNTEST) $(RUNTESTFLAGS) $< && touch $@

          .sfd.ttf:
               $(FONTFORGE) -script $(top_srcdir)/fonts/genttf.ff $< $@

          .man.in.man:
               LC_ALL=C sed -e 's,@bindir\@,$(bindir),g' -e 's,@dlldir\@,$(dlldir),g' -e 's,@PACKAGE_STRING\@,Wine 1.3.13,g' $< >$@ || ($(RM) $@ && false)

          .svg.ico:
               CONVERT="$(CONVERT)" ICOTOOL="$(ICOTOOL)" RSVG="$(RSVG)" $(BUILDIMAGE) $< $@

          .svg.bmp:
               CONVERT="$(CONVERT)" ICOTOOL="$(ICOTOOL)" RSVG="$(RSVG)" $(BUILDIMAGE) $< $@

          # Rules for IDL files

          dlldata.c: $(WIDL) Makefile.in
               $(WIDL) $(IDLFLAGS) --dlldata-only -o $@ $(IDL_P_SRCS)

          # Rule for linting

          $(MODULE).ln : $(LINTS)
               if test "$(LINTS)" ; \
               then \
                    $(LINT) $(ALLLINTFLAGS) -o$(MODULE) $(LINTS) ; \
               $(MV) llib-l$(MODULE).ln $(MODULE).ln ; \
               else \
                    $(LINT) $(ALLLINTFLAGS) -C$(MODULE) /dev/null ; \
               fi

          lint:: $(MODULE).ln

          # Rules for Windows API checking

          winapi_check:: dummy
               $(WINAPI_CHECK) $(WINAPI_CHECK_FLAGS) $(WINAPI_CHECK_EXTRA_FLAGS) .

          .PHONY: winapi_check

          # Rules for dependencies

          DEPEND_SRCS = $(C_SRCS) $(RC_SRCS) $(MC_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) \
          $(BISON_SRCS) $(LEX_SRCS) $(EXTRA_SRCS)

          depend: dummy
               $(MAKEDEP) $(MAKEDEPFLAGS) -C$(srcdir) -S$(top_srcdir) -T$(top_builddir) $(EXTRAINCL) $(DEPEND_SRCS)

          .PHONY: depend

          # Rules for man pages

          MANPAGES = $(MANPAGE) $(EXTRA_MANPAGES)

          all: $(MANPAGES)

          install-man-pages:: $(MANPAGE) $(DESTDIR)$(mandir)/man$(prog_manext)
               $(INSTALL_DATA) $(MANPAGE) $(DESTDIR)$(mandir)/man$(prog_manext)/$(MANPAGE:.man=).$(prog_manext)

          uninstall-man-pages::
               $(RM) $(DESTDIR)$(mandir)/man$(prog_manext)/$(MANPAGE:.man=).$(prog_manext)

          install:: $(MANPAGE:%=install-man-pages)
          uninstall:: $(MANPAGE:%=uninstall-man-pages)

          # Rules for cleaning

          $(EXTRASUBDIRS:%=%/__clean__): dummy
               -cd `dirname $@` && $(RM) $(CLEAN_FILES)

          clean:: $(EXTRASUBDIRS:%=%/__clean__)
               $(RM) $(CLEAN_FILES) $(CLEAN_TARGETS) $(PROGRAMS) $(MANPAGES)

          .PHONY: clean $(EXTRASUBDIRS:%=%/__clean__)

          # Rules for installing

          $(INSTALLDIRS):
               $(MKINSTALLDIRS) $@

          install install-lib install-dev uninstall::

          .PHONY: install install-lib install-dev uninstall

          # Rules for resources

          all: # $(PO_SRCS:%=rsrc.pot) $(MC_SRCS:%=msg.pot)

          rsrc.pot: $(WRC)
               $(LDPATH) $(WRC) $(RCFLAGS) -O pot -o $@ $(PO_SRCS)

          msg.pot: $(WMC)
               $(LDPATH) $(WMC) -O pot -o $@ $(MC_SRCS)

          $(MC_SRCS:.mc=.res): $(WMC) $(ALL_PO_FILES)
          $(RC_SRCS:.rc=.res): $(WRC)
          $(PO_SRCS:.rc=.res): $(ALL_PO_FILES)

          # Misc. rules

          $(IDL_GEN_HEADERS) $(IDL_GEN_C_SRCS) $(IDL_TLB_SRCS:.idl=.tlb) $(IDL_R_SRCS:.idl=_r.res): $(WIDL)

          dummy:

          .PHONY: dummy

          # End of global rules

          # Special defines needed for config.c

          CONFIGDIRS = \
               -DBINDIR='"$(bindir)"' \
               -DDLLDIR='"$(dlldir)"' \
               -DLIB_TO_BINDIR=\"`$(RELPATH) $(libdir) $(bindir)`\" \
               -DLIB_TO_DLLDIR=\"`$(RELPATH) $(libdir) $(dlldir)`\" \
               -DBIN_TO_DLLDIR=\"`$(RELPATH) $(bindir) $(dlldir)`\" \
               -DBIN_TO_DATADIR=\"`$(RELPATH) $(bindir) $(datadir)/wine`\"

          config.o: config.c $(RELPATH)
               $(CC) -c $(ALLCFLAGS) -o $@ $(srcdir)/config.c $(CONFIGDIRS)

          # Linking rules

          libwine.so.$(VERSION): $(OBJS) $(VERSCRIPT) Makefile.in
               $(LDSHARED) $(OBJS) $(EXTRALIBS) $(LDFLAGS) $(LIBS) -o $@

          libwine.so.$(SOVERSION): libwine.so.$(VERSION)
               $(RM) $@ && $(LN_S) libwine.so.$(VERSION) $@

          libwine.so: libwine.so.$(SOVERSION)
               $(RM) $@ && $(LN_S) libwine.so.$(SOVERSION) $@

          libwine.a: wine.def
               $(DLLTOOL) -l $@ -d $(srcdir)/wine.def

          libwine.dll: $(OBJS) wine.def Makefile.in
               $(DLLWRAP) --def $(srcdir)/wine.def -o $@ $(OBJS) $(EXTRALIBS)

          DYLIB_LDFLAGS = -compatibility_version $(SOVERSION) -current_version $(VERSION)

          libwine.$(VERSION).dylib: $(OBJS) $(RELPATH) Makefile.in
               $(LDSHARED) -install_name $(libdir)/$(DYNAME) $(DYLIB_LDFLAGS) $(OBJS) $(EXTRALIBS) $(LDFLAGS) $(LIBS) -o $@

          libwine.$(SOVERSION).dylib: libwine.$(VERSION).dylib
               cp -p libwine.$(VERSION).dylib $@ && install_name_tool -id @executable_path/`$(RELPATH) $(bindir) $(libdir)`/$(DYNAME) $@ || $(RM) $@

          libwine.dylib: libwine.$(SOVERSION).dylib
               $(RM) $@ && $(LN_S) libwine.$(SOVERSION).dylib $@

          # Install rules

          .PHONY: install-lib-so install-lib-dll install-lib-dylib install-dev-so install-dev-dll install-dev-dylib

          install-lib-so: libwine.so.$(VERSION) $(DESTDIR)$(libdir) dummy
               $(INSTALL_PROGRAM) libwine.so.$(VERSION) $(DESTDIR)$(libdir)/libwine.so.$(VERSION)
               cd $(DESTDIR)$(libdir) && $(RM) libwine.so.$(SOVERSION) && $(LN_S) libwine.so.$(VERSION) libwine.so.$(SOVERSION)

          install-lib-dll: libwine.dll $(DESTDIR)$(libdir) dummy
               $(INSTALL_DATA) libwine.dll $(DESTDIR)$(libdir)/libwine.dll

          install-lib-dylib: libwine.$(VERSION).dylib $(DESTDIR)$(libdir) dummy
               $(INSTALL_PROGRAM) libwine.$(VERSION).dylib $(DESTDIR)$(libdir)/libwine.$(VERSION).dylib
               cd $(DESTDIR)$(libdir) && $(RM) libwine.$(SOVERSION).dylib && $(LN_S) libwine.$(VERSION).dylib libwine.$(SOVERSION).dylib

          install-dev-so: $(DESTDIR)$(libdir) dummy
               cd $(DESTDIR)$(libdir) && $(RM) libwine.so && $(LN_S) libwine.so.$(VERSION) libwine.so

          install-dev-dll: libwine.a $(DESTDIR)$(libdir) dummy
               $(INSTALL_DATA) libwine.a $(DESTDIR)$(libdir)/libwine.a

          install-dev-dylib: $(DESTDIR)$(libdir) dummy
               cd $(DESTDIR)$(libdir) && $(RM) libwine.dylib && $(LN_S) libwine.$(VERSION).dylib libwine.dylib

          install install-lib:: $(LIBEXT:%=install-lib-%)
          install install-dev:: $(LIBEXT:%=install-dev-%)

          uninstall::
               -cd $(DESTDIR)$(libdir) && $(RM) libwine.a libwine.dll libwine.so libwine.so.$(VERSION) \
                    libwine.so.$(SOVERSION) libwine.dylib libwine.$(VERSION).dylib libwine.$(SOVERSION).dylib

          version.c: dummy
               version=`(GIT_DIR=$(top_srcdir)/.git git describe HEAD 2>/dev/null || echo "wine-1.3.13") | sed -n -e '$$s/\(.*\)/const char wine_build[] = "\1";/p'` && (echo $$version | cmp -s - $@) || echo $$version >$@ || ($(RM) $@ && exit 1)

          clean::
               $(RM) libwine.so.$(SOVERSION) libwine.so.$(VERSION) version.c

          $(RELPATH):
               @cd $(TOOLSDIR)/tools && $(MAKE) relpath$(TOOLSEXT)
          • 2. Re: Make is compiling files multiple times causing a compilation error
            877616
            ### Dependencies
            c_037.o : c_037.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_10000.o : c_10000.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_10006.o : c_10006.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_10007.o : c_10007.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_10029.o : c_10029.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_1006.o : c_1006.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_10079.o : c_10079.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_10081.o : c_10081.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_1026.o : c_1026.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_1250.o : c_1250.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_1251.o : c_1251.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_1252.o : c_1252.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_1253.o : c_1253.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_1254.o : c_1254.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_1255.o : c_1255.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_1256.o : c_1256.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_1257.o : c_1257.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_1258.o : c_1258.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_1361.o : c_1361.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_20127.o : c_20127.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_20866.o : c_20866.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_20932.o : c_20932.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_21866.o : c_21866.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_28591.o : c_28591.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_28592.o : c_28592.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_28593.o : c_28593.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_28594.o : c_28594.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_28595.o : c_28595.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_28596.o : c_28596.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_28597.o : c_28597.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_28598.o : c_28598.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_28599.o : c_28599.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_28600.o : c_28600.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_28603.o : c_28603.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_28604.o : c_28604.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_28605.o : c_28605.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_28606.o : c_28606.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            c_424.o : c_424.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_437.o : c_437.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_500.o : c_500.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_737.o : c_737.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_775.o : c_775.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_850.o : c_850.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_852.o : c_852.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_855.o : c_855.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_856.o : c_856.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_857.o : c_857.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_860.o : c_860.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_861.o : c_861.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_862.o : c_862.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_863.o : c_863.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_864.o : c_864.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_865.o : c_865.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_866.o : c_866.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_869.o : c_869.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_874.o : c_874.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_875.o : c_875.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_878.o : c_878.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_932.o : c_932.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_936.o : c_936.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_949.o : c_949.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            c_950.o : c_950.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            casemap.o : casemap.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            collation.o : collation.c
            compose.o : compose.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            config.o : config.c ../../include/config.h ../../include/wine/port.h \
            ../../include/wine/library.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h
            cptable.o : cptable.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            debug.o : debug.c ../../include/config.h ../../include/wine/port.h \
            ../../include/wine/debug.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/wine/library.h ../../include/winbase.h \
            ../../include/winerror.h
            fold.o : fold.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            ldt.o : ldt.c ../../include/config.h ../../include/wine/port.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/wine/library.h
            loader.o : loader.c ../../include/config.h ../../include/wine/port.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/wine/library.h
            mbtowc.o : mbtowc.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            mmap.o : mmap.c ../../include/config.h ../../include/wine/port.h \
            ../../include/wine/library.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/wine/list.h
            port.o : port.c ../../include/config.h ../../include/wine/port.h \
            ../../include/wine/library.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h
            sortkey.o : sortkey.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            string.o : string.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            utf8.o : utf8.c ../../include/wine/unicode.h ../../include/windef.h \
            ../../include/winnt.h ../../include/basetsd.h ../../include/guiddef.h \
            ../../include/pshpack2.h ../../include/poppack.h \
            ../../include/pshpack8.h ../../include/pshpack4.h \
            ../../include/winbase.h ../../include/winerror.h \
            ../../include/winnls.h
            wctomb.o : wctomb.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            wctype.o : wctype.c ../../include/wine/unicode.h \
            ../../include/windef.h ../../include/winnt.h ../../include/basetsd.h \
            ../../include/guiddef.h ../../include/pshpack2.h \
            ../../include/poppack.h ../../include/pshpack8.h \
            ../../include/pshpack4.h ../../include/winbase.h \
            ../../include/winerror.h ../../include/winnls.h
            • 3. Re: Make is compiling files multiple times causing a compilation error
              Steve.Clamage-Oracle
              Parallel make works only if the makefile is set up for parallelism, which is probably not the case here.
              Example, where "all" is the default target:
              all : targ1 targ2
              targ1: a.o b.o
              targ2: a.o c.o
              Make will start targ1 and targ2 in parallel. Both need a.o, which doesn't exist yet, so make will start two compilations of a.c.

              You can split out the common dependencies into a new target:
              all : targ1 targ2
              common: a.o
              targ1: common b.o
              targ2: common c.o 
              Now make will build a.o just once.

              Another approach is to serialize targets:
              all: targ1 .WAIT targ2
              Now make will not start targ2 until targ1 is complete, which works, but is overly pessimistic.

              Trying to make the makefile suitable for parallel make is tedious and error-prone. You can leave race conditions that only show up sometimes. If you download a new version of the app, you would have to re-do the makefile, unless you can push the changes upstream.

              The simplest solution is to use serial make:
               dmake -m serial 
              or use plain "make" or GNU make.
              • 4. Re: Make is compiling files multiple times causing a compilation error
                877616
                Thanks for the assistance with dmake headache. First, I created a .dmakerc with jobs = 1 on my box, but then I switched to regular make and the duplicate compilation went away, but I'm still erroring out with the same compilation error. I'm going to open another thread so this one doesn't drift.