OSDN Git Service

Factor common code from subdirectory makefiles into Makefile.comm.in
authorkeithmarshall <keithmarshall>
Tue, 13 Dec 2011 20:46:53 +0000 (20:46 +0000)
committerkeithmarshall <keithmarshall>
Tue, 13 Dec 2011 20:46:53 +0000 (20:46 +0000)
winsup/w32api/ChangeLog
winsup/w32api/Makefile.comm.in [new file with mode: 0644]
winsup/w32api/configure
winsup/w32api/configure.ac
winsup/w32api/lib/Makefile.in
winsup/w32api/lib/ddk/Makefile.in
winsup/w32api/lib/directx/Makefile.in

index 729e4cc..fae3aac 100644 (file)
@@ -1,5 +1,24 @@
 2011-12-13  Keith Marshall  <keithmarshall@users.sf.net>
 
+       * configure.ac (AC_CONFIG_FILES): Add Makefile.comm
+       (AC_PROG_MKDIR_P): Add, to AC_SUBST result for mkinstalldirs.
+
+       * configure: Regenerated.
+
+       * lib/Makefile.in lib/ddk/Makefile.in lib/directx/Makefile.in:
+       (top_srcdir, top_builddir): Define using value passed by AC_SUBST.
+       (all): Original default goal; rename it as...
+       (all-default): ...this, to facilitate factoring out of common code,
+       which we then reinstate by including ${top_builddir}/Makefile.comm
+
+       * Makefile.comm.in: New include file, containing factored-out code.
+       (all): Redefined default goal; it redirects to renamed original...
+       (all-default): ...i.e. this; as defined in the original makefiles.
+       (CC_FOR_TARGET, AS_FOR_TARGET): Unreferenced macros; delete them.
+       (bindir, program_transform_name, datadir, infodir): Likewise.
+
+2011-12-13  Keith Marshall  <keithmarshall@users.sf.net>
+
        * lib/ddk/Makefile.in (ddk_includedir): New macro; define it, then use
        it in install-headers and uninstall-headers rules, in place of...
        (inst_includedir): ...this; we then redefine this for consistency with
diff --git a/winsup/w32api/Makefile.comm.in b/winsup/w32api/Makefile.comm.in
new file mode 100644 (file)
index 0000000..c437207
--- /dev/null
@@ -0,0 +1,127 @@
+# @configure_input@
+#
+#
+# Makefile.comm.in
+#
+# This file is part of a free library for the Win32 API.
+# 
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+#
+# Establish the default build rule early, to ensure it is not
+# hijacked by any other common rule defined herein; note that
+# this requires us to specify the real default rule using the
+# alternative name, 'all-default'.
+#
+all: all-default
+
+SHELL = @SHELL@
+
+host_alias = @host@
+build_alias = @build@
+target_alias = @target@
+with_cross_host = @with_cross_host@
+
+# Identify the tools required to build the package.
+# Note that we don't specify associated option flags here,
+# since different settings may be required in individual
+# makefiles which include this common fragment.
+#
+CC = @CC@
+AS = @AS@
+LD = @LD@
+
+CFLAGS = @CFLAGS@
+ALL_CFLAGS = $(CFLAGS) $(INCLUDES)
+
+DLLTOOL = @DLLTOOL@
+DLLTOOL_FLAGS = --as=$(AS) -k
+WINDRES = @WINDRES@
+
+RANLIB = @RANLIB@
+AR = @AR@
+
+# In spite of its general unsuitability for use on MS-Windows hosts,
+# Cygwin is able to, and likes to support the $(DESTDIR) capability;
+# provide a graceful rejection mechanism, for any (non-Cygwin) cases
+# where it cannot be used.
+#
+need-DESTDIR-compatibility = prefix libdir includedir
+.PHONY: $(need-DESTDIR-compatibility) fail-DESTDIR-compatibility
+
+$(need-DESTDIR-compatibility):
+       @test -z "$(DESTDIR)" || case "$($@)" in ?:*) \
+         $(MAKE) --no-print-directory reject="$@" fail-DESTDIR-compatibility ;; \
+       esac
+
+fail-DESTDIR-compatibility:
+       $(error DESTDIR is not supported when $(reject) contains Win32 path `$($(reject))'; \
+       try `make install $(reject)=$(shell echo '$($(reject))' | sed s,:,:$(DESTDIR),) ...' instead)
+
+# Define the set of generic build rules, which are common to
+# the build processes for all subdirectories.
+#
+%.o: %.c
+       $(CC) -c $(ALL_CFLAGS) -o $@ $<
+
+lib%.a : %.def %.o
+       $(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def ${srcdir}/$*.def
+       $(AR) r $@ $*.o
+       $(RANLIB) $@
+
+lib%.a: %.def
+       $(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $<
+
+lib%.a: %.o
+       $(AR) rc $@ $*.o
+       $(RANLIB) $@
+
+# Install headers and libraries in a target specified directory.
+#
+mkinstalldirs = @MKDIR_P@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+ifeq ($(target_alias),$(host_alias))
+  ifeq ($(build_alias),$(host_alias))
+    tooldir = ${exec_prefix}
+  else
+    tooldir = ${exec_prefix}/$(target_alias)
+  endif
+else
+  tooldir = ${exec_prefix}/$(target_alias)
+endif
+ifneq (,$(findstring cygwin,$(target_alias)))
+  inst_includedir = $(tooldir)/include/w32api
+  inst_libdir = $(tooldir)/lib/w32api
+else
+  ifneq (,$(with_cross_host))
+    inst_includedir = $(tooldir)/include/w32api
+    inst_libdir = $(tooldir)/lib
+  else
+    inst_includedir = @includedir@
+    inst_libdir = @libdir@
+  endif
+endif
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+
+# The "clean" class of rules is common to all subdirs.
+#
+mostlyclean:
+       rm -f *~ *.o *.s
+
+clean:
+       rm -f *.o *.a *.s *~
+
+distclean: clean
+       rm -f config.cache config.status config.log Makefile
+
+maintainer-clean: distclean
+
+# Makefile.comm.in: end of file
index 234c10f..dee1299 100755 (executable)
@@ -572,6 +572,7 @@ CC
 INSTALL_DATA
 INSTALL_SCRIPT
 INSTALL_PROGRAM
+MKDIR_P
 target_os
 target_vendor
 target_cpu
@@ -1817,6 +1818,50 @@ test -n "$target_alias" &&
   program_prefix=${target_alias}-
 
 
+# Identify commands which are to be used for installation.
+#
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+  if test "${ac_cv_path_mkdir+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in mkdir gmkdir; do
+        for ac_exec_ext in '' $ac_executable_extensions; do
+          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+            'mkdir (GNU coreutils) '* | \
+            'mkdir (coreutils) '* | \
+            'mkdir (fileutils) '4.1*)
+              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+              break 3;;
+          esac
+        done
+       done
+  done
+IFS=$as_save_IFS
+
+fi
+
+  test -d ./--version && rmdir ./--version
+  if test "${ac_cv_path_mkdir+set}" = set; then
+    MKDIR_P="$ac_cv_path_mkdir -p"
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for MKDIR_P within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    MKDIR_P="$ac_install_sh -d"
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
 # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
 # incompatible versions:
@@ -2592,7 +2637,9 @@ $as_echo "$BUILDENV" >&6; }
 fi
 
 
-ac_config_files="$ac_config_files Makefile lib/Makefile lib/ddk/Makefile lib/directx/Makefile"
+ac_config_files="$ac_config_files Makefile Makefile.comm"
+
+ac_config_files="$ac_config_files lib/Makefile lib/ddk/Makefile lib/directx/Makefile"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -3200,6 +3247,7 @@ gives unlimited permission to copy, distribute and modify it."
 ac_pwd='$ac_pwd'
 srcdir='$srcdir'
 INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
 test -n "\$AWK" || AWK=awk
 _ACEOF
 
@@ -3301,6 +3349,7 @@ for ac_config_target in $ac_config_targets
 do
   case $ac_config_target in
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "Makefile.comm") CONFIG_FILES="$CONFIG_FILES Makefile.comm" ;;
     "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
     "lib/ddk/Makefile") CONFIG_FILES="$CONFIG_FILES lib/ddk/Makefile" ;;
     "lib/directx/Makefile") CONFIG_FILES="$CONFIG_FILES lib/directx/Makefile" ;;
@@ -3640,6 +3689,11 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
   [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
   *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
   esac
+  ac_MKDIR_P=$MKDIR_P
+  case $MKDIR_P in
+  [\\/$]* | ?:[\\/]* ) ;;
+  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+  esac
 _ACEOF
 
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
@@ -3694,6 +3748,7 @@ s&@builddir@&$ac_builddir&;t t
 s&@abs_builddir@&$ac_abs_builddir&;t t
 s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
 s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
 $ac_datarootdir_hack
 "
 eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
@@ -3755,3 +3810,5 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
 fi
 
+
+# configure.ac: end of file
index 93ba355..d447e58 100644 (file)
@@ -29,7 +29,9 @@ MINGW_AC_CONFIG_SRCDIR([__W32API_VERSION],[include/w32api.h])
 
 AC_CANONICAL_SYSTEM
 
-dnl Find install command
+# Identify commands which are to be used for installation.
+#
+AC_PROG_MKDIR_P
 AC_PROG_INSTALL
 
 # Check for CC and CFLAGS
@@ -72,5 +74,8 @@ else
 fi
 AC_SUBST([BUILDENV])
 
-AC_CONFIG_FILES([Makefile lib/Makefile lib/ddk/Makefile lib/directx/Makefile])
+AC_CONFIG_FILES([Makefile Makefile.comm])
+AC_CONFIG_FILES([lib/Makefile lib/ddk/Makefile lib/directx/Makefile])
 AC_OUTPUT
+
+# configure.ac: end of file
index 8a8dca4..b569044 100644 (file)
@@ -9,69 +9,21 @@
 # but WITHOUT ANY WARANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
-
-# start config section
-
-SHELL = @SHELL@
-
 srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+top_builddir = @top_builddir@
+
 VPATH = @srcdir@
 
+include ${top_builddir}/Makefile.comm
+
 SUBDIRS := ddk directx
 subdirs := ddk directx
 
-host_alias = @host@
-build_alias = @build@
-target_alias = @target@
-with_cross_host = @with_cross_host@
-prefix = @prefix@
-includedir:=@includedir@
-
-program_transform_name = @program_transform_name@
-exec_prefix = @exec_prefix@
-libdir:=@libdir@
-bindir = @bindir@
-ifeq ($(target_alias),$(host_alias))
-ifeq ($(build_alias),$(host_alias))
-tooldir:=$(exec_prefix)
-else
-tooldir:=$(exec_prefix)/$(target_alias)
-endif
-else
-tooldir:=$(exec_prefix)/$(target_alias)
-endif
-datadir = @datadir@
-infodir = @infodir@
-ifneq (,$(findstring cygwin,$(target_alias)))
-inst_includedir:=$(tooldir)/include/w32api
-inst_libdir:=$(tooldir)/lib/w32api
-else
-ifneq (,$(with_cross_host))
-inst_includedir:=$(tooldir)/include/w32api
-inst_libdir:=$(tooldir)/lib
-else
-inst_includedir:=$(includedir)
-inst_libdir:=$(libdir)
-endif
-endif
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-mkinstalldirs = mkdir -p
-
-CC = @CC@
-CC_FOR_TARGET = $(CC)
-
-DLLTOOL = @DLLTOOL@
-DLLTOOL_FLAGS = --as=$(AS) -k
-AS = @AS@
-AS_FOR_TARGET = $(AS_FOR_TARGET)
-WINDRES = @WINDRES@
-
 # Depending on if we build as part of winsup or mingw we need to
 # add additional include paths in order to get the correct headers
 # from the C library.
+#
 BUILDENV = @BUILDENV@
 
 ifeq ($(BUILDENV), cygwin)
@@ -86,28 +38,21 @@ endif
 
 INCLUDES = -I$(srcdir)/../include $(EXTRA_INCLUDES)
 
-CFLAGS = @CFLAGS@
-ALL_CFLAGS = $(CFLAGS) $(INCLUDES)
-
-RANLIB = @RANLIB@
-AR = @AR@
-LD = @LD@
-
-# end config section
-
-# headers
-
+# Headers
+#
 HEADERS = $(notdir $(wildcard $(srcdir)/../include/*.h))
 GL_HEADERS = $(notdir $(wildcard $(srcdir)/../include/GL/*.h))
 GDIPLUS_HEADERS = $(notdir $(wildcard $(srcdir)/../include/gdiplus/*.h))
 
-# libraries
-
+# Libraries
+#
 DEF_FILES = $(notdir $(wildcard $(srcdir)/*.def))
 MRI_FILES = $(notdir $(wildcard $(srcdir)/*.mri))
 IMPLIBS = $(addprefix lib,$(subst .def,.a,$(DEF_FILES)))
 MIMPLIBS = $(addprefix lib,$(subst .mri,.a,$(MRI_FILES)))
-EXTRA_LIBS=libuuid.a libscrnsave.a libscrnsavw.a liblargeint.a
+
+EXTRA_LIBS = libuuid.a libscrnsave.a libscrnsavw.a liblargeint.a
+
 LIBS = $(IMPLIBS) $(MIMPLIBS) $(EXTRA_LIBS)
 UUID_OBJS = mshtml-uuid.o msxml-uuid.o unknwn-uuid.o \
                        servprov-uuid.o oleidl-uuid.o oleacc-uuid.o ocidl-uuid.o \
@@ -130,8 +75,11 @@ DISTFILES = Makefile.in $(DEF_FILES) $(MRI_FILES) $(SOURCES)
 
 .NOTPARALLEL:
 
-# targets
-all: $(EXTRA_OBJS) $(LIBS) ddk directx
+# Targets: (note that 'all-default' is a redirection from 'all',
+# which is the primary default target identified in the included
+# common makefile fragment, ${top_builddir}/Makefile.comm
+#
+all-default: $(EXTRA_OBJS) $(LIBS) ddk directx
 
 %-subdirs:
        for i in $(SUBDIRS); do \
@@ -164,52 +112,26 @@ test:
 scrnsavw.o: scrnsave.c
        $(CC) -c $(ALL_CFLAGS) -DUNICODE -o $@ $<
 
-# make rules
-
-.SUFFIXES: .c .o .def .a
-
-.c.o:
-       $(CC) -c $(ALL_CFLAGS) -o $@ $<
-
-libuuid.a : $(UUID_OBJS)
+# Rules
+#
+libuuid.a: $(UUID_OBJS)
        $(AR) rc $@ $(UUID_OBJS)
        $(RANLIB) $@
 
 # libvfw32.a contains import stubs for 3 dll's.  Using an MRI script
 # seems to be the simplest way to combine them into one archive.
-# NB: With older dlltool, the object file members will not have unique
-# names.
-libvfw32.a : vfw32.mri libmsvfw32.a libavifil32.a libavicap32.a
+#
+# NB: With older dlltool, the object file members will not have
+#     unique names.
+#
+libvfw32.a: vfw32.mri libmsvfw32.a libavifil32.a libavicap32.a
        rm -f $@
        $(AR) -M < ${word 1,$^}
        $(RANLIB) $@
 
-lib%.a : %.def %.o
-       $(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $(srcdir)/$*.def
-       $(AR) r $@ $*.o
-       $(RANLIB) $@
-
-lib%.a: %.def
-       $(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $<
-
-lib%.a: %.o
-       $(AR) rc $@ $*.o
-       $(RANLIB) $@
-
-need-DESTDIR-compatibility = prefix libdir includedir
-.PHONY: $(need-DESTDIR-compatibility) fail-DESTDIR-compatibility
-
-$(need-DESTDIR-compatibility):
-       @test -z "$(DESTDIR)" || case "$($@)" in ?:*) \
-         $(MAKE) --no-print-directory reject="$@" fail-DESTDIR-compatibility ;; \
-       esac
-
-fail-DESTDIR-compatibility:
-       $(error DESTDIR is not supported when $(reject) contains Win32 path `$($(reject))'; \
-       try `make install $(reject)=$(shell echo '$($(reject))' | sed s,:,:$(DESTDIR),) ...' instead)
-
 .PHONY: install install-libraries install-headers install-ddk
-# install headers and libraries in a target specified directory.
+# Install headers and libraries in a target specified directory.
+#
 install: install-libraries install-headers install-ddk install-directx
 
 install-libraries: all $(need-DESTDIR-compatibility)
@@ -238,7 +160,8 @@ install-ddk: install-libraries install-headers
 install-directx: install-libraries install-headers
        cd directx && $(MAKE) install
 
-# uninstall headers and libraries from a target specified directory
+# Uninstall headers and libraries from a target specified directory
+#
 uninstall: uninstall-ddk uninstall-directx uninstall-libraries uninstall-headers
 
 uninstall-libraries: $(need-DESTDIR-compatibility)
@@ -285,16 +208,4 @@ dist:
 Makefile: Makefile.in ../config.status ../configure
        cd ..; $(SHELL) config.status
 
-# clean
-
-mostlyclean:
-       rm -f *~ *.o *.s
-
-clean:
-       rm -f *.o *.a *.s *~
-
-distclean: clean
-       rm -f config.cache config.status config.log Makefile
-
-maintainer-clean: distclean
-
+# Makefile.in: end of file
index 3ac9c7c..5cc4dd6 100644 (file)
@@ -1,3 +1,6 @@
+# @configure_input@
+#
+#
 # Makefile.in
 #
 # This file is part of a free library building Windows NT drivers.
@@ -6,66 +9,18 @@
 # but WITHOUT ANY WARANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
-
-# start config section
-
-SHELL = @SHELL@
-
 srcdir = @srcdir@
-VPATH = @srcdir@
-
-host_alias = @host@
-build_alias = @build@
-target_alias = @target@
-with_cross_host = @with_cross_host@
-prefix = @prefix@
-includedir:=@includedir@
-
-program_transform_name = @program_transform_name@
-exec_prefix = @exec_prefix@
-libdir:=@libdir@
-bindir = @bindir@
-ifeq ($(target_alias),$(host_alias))
-ifeq ($(build_alias),$(host_alias))
-tooldir:=$(exec_prefix)
-else
-tooldir:=$(exec_prefix)/$(target_alias)
-endif
-else
-tooldir:=$(exec_prefix)/$(target_alias)
-endif
-datadir = @datadir@
-infodir = @infodir@
-ifneq (,$(findstring cygwin,$(target_alias)))
-inst_includedir:=$(tooldir)/include/w32api
-inst_libdir:=$(tooldir)/lib/w32api
-else
-ifneq (,$(with_cross_host))
-inst_includedir:=$(tooldir)/include/w32api
-inst_libdir:=$(tooldir)/lib
-else
-inst_includedir:=$(includedir)
-inst_libdir:=$(libdir)
-endif
-endif
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-mkinstalldirs = mkdir -p
+top_srcdir = @top_srcdir@
+top_builddir = @top_builddir@
 
-CC = @CC@
-CC_FOR_TARGET = $(CC)
+VPATH = @srcdir@
 
-DLLTOOL = @DLLTOOL@
-DLLTOOL_FLAGS = --as=$(AS) -k
-AS = @AS@
-AS_FOR_TARGET = $(AS_FOR_TARGET)
-WINDRES = @WINDRES@
+include ${top_builddir}/Makefile.comm
 
 # Depending on if we build as part of winsup or mingw we need to
 # add additional include paths in order to get the correct headers
 # from the C library.
+#
 BUILDENV = @BUILDENV@
 
 ifeq ($(BUILDENV), cygwin)
@@ -80,21 +35,12 @@ endif
 
 INCLUDES = -I$(srcdir)/../include $(EXTRA_INCLUDES)
 
-CFLAGS = @CFLAGS@
-ALL_CFLAGS = $(CFLAGS) $(INCLUDES)
-
-RANLIB = @RANLIB@
-AR = @AR@
-LD = @LD@
-
-# end config section
-
-# headers
-
+# Headers
+#
 HEADERS = $(notdir $(wildcard $(srcdir)/../../include/ddk/*.h))
 
-# libraries
-
+# Libraries
+#
 DEF_FILES = $(notdir $(wildcard $(srcdir)/*.def))
 IMPLIBS = $(addprefix lib,$(subst .def,.a,$(DEF_FILES)))
 LIBS = $(IMPLIBS)
@@ -103,8 +49,11 @@ DISTFILES = Makefile.in $(DEF_FILES)
 
 .NOTPARALLEL:
 
-# targets
-all: $(LIBS)
+# Targets: (note that 'all-default' is a redirection from 'all',
+# which is the primary default target identified in the included
+# common makefile fragment, ${top_builddir}/Makefile.comm
+#
+all-default: $(LIBS)
 
 TEST_OPTIONS = $(ALL_CFLAGS) -Wall -pedantic -Wsystem-headers -c $(srcdir)/test.c -o test.o
 .PHONY: test
@@ -122,38 +71,10 @@ test:
        @$(WINDRES) --define UNICODE --include-dir $(INCDIR) -i $(srcdir)/res.rc -o test.o
        @rm -f test.o
 
-# make rules
-
-.SUFFIXES: .c .o .def .a
-
-.c.o:
-       $(CC) -c $(ALL_CFLAGS) -o $@ $<
-
-lib%.a : %.def %.o
-       $(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $(srcdir)/$*.def
-       $(AR) r $@ $*.o
-       $(RANLIB) $@
-
-lib%.a: %.def
-       $(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $<
-
-lib%.a: %.o
-       $(AR) rc $@ $*.o
-       $(RANLIB) $@
-
-need-DESTDIR-compatibility = prefix libdir includedir
-.PHONY: $(need-DESTDIR-compatibility) fail-DESTDIR-compatibility
-
-$(need-DESTDIR-compatibility):
-       @test -z "$(DESTDIR)" || case "$($@)" in ?:*) \
-         $(MAKE) --no-print-directory reject="$@" fail-DESTDIR-compatibility ;; \
-       esac
-
-fail-DESTDIR-compatibility:
-       $(error DESTDIR is not supported when $(reject) contains Win32 path `$($(reject))'; \
-       try `make install $(reject)=$(shell echo '$($(reject))' | sed s,:,:$(DESTDIR),) ...' instead)
-
-# install headers and libraries in a target specified directory.
+# Rules
+#
+# Install headers and libraries in a target specified directory.
+#
 install: install-libraries install-headers
 
 install-libraries: all $(need-DESTDIR-compatibility)
@@ -170,7 +91,8 @@ install-headers: $(need-DESTDIR-compatibility)
                $(INSTALL_DATA) $(srcdir)/../../include/ddk/$$i $(DESTDIR)${ddk_includedir}; \
        done
 
-# uninstall headers and libraries from a target specified directory
+# Uninstall headers and libraries from a target specified directory
+#
 uninstall: uninstall-libraries uninstall-headers
 
 uninstall-libraries: $(need-DESTDIR-compatibility)
@@ -185,7 +107,6 @@ uninstall-headers: $(need-DESTDIR-compatibility)
        done
        rmdir $(DESTDIR)${ddk_includedir}
 
-
 dist:
        mkdir $(distdir)/include/ddk
        chmod 755 $(distdir)/include/ddk
@@ -201,15 +122,4 @@ dist:
 Makefile: Makefile.in ../../config.status ../../configure
        cd ../..; $(SHELL) config.status
 
-# clean
-
-mostlyclean:
-       rm -f *~ *.o *.s
-
-clean:
-       rm -f *.o *.a *.s *~
-
-distclean: clean
-       rm -f config.cache config.status config.log Makefile
-
-maintainer-clean: distclean
+# Makefile.in: end of file
index 89a3cc6..b3b9563 100644 (file)
@@ -1,3 +1,6 @@
+# @configure_input@
+#
+#
 # Makefile.in
 #
 # This file is part of a free library building Windows NT drivers.
@@ -6,66 +9,18 @@
 # but WITHOUT ANY WARANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
-
-# start config section
-
-SHELL = @SHELL@
-
 srcdir = @srcdir@
-VPATH = @srcdir@
-
-host_alias = @host@
-build_alias = @build@
-target_alias = @target@
-with_cross_host = @with_cross_host@
-prefix = @prefix@
-includedir:=@includedir@
-
-program_transform_name = @program_transform_name@
-exec_prefix = @exec_prefix@
-libdir:=@libdir@
-bindir = @bindir@
-ifeq ($(target_alias),$(host_alias))
-ifeq ($(build_alias),$(host_alias))
-tooldir:=$(exec_prefix)
-else
-tooldir:=$(exec_prefix)/$(target_alias)
-endif
-else
-tooldir:=$(exec_prefix)/$(target_alias)
-endif
-datadir = @datadir@
-infodir = @infodir@
-ifneq (,$(findstring cygwin,$(target_alias)))
-inst_includedir:=$(tooldir)/include/w32api
-inst_libdir:=$(tooldir)/lib/w32api
-else
-ifneq (,$(with_cross_host))
-inst_includedir:=$(tooldir)/include/w32api
-inst_libdir:=$(tooldir)/lib
-else
-inst_includedir:=$(includedir)
-inst_libdir:=$(libdir)
-endif
-endif
+top_srcdir = @top_srcdir@
+top_builddir = @top_builddir@
 
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-mkinstalldirs = mkdir -p
-
-CC = @CC@
-CC_FOR_TARGET = $(CC)
+VPATH = @srcdir@
 
-DLLTOOL = @DLLTOOL@
-DLLTOOL_FLAGS = --as=$(AS) -k
-AS = @AS@
-AS_FOR_TARGET = $(AS_FOR_TARGET)
-WINDRES = @WINDRES@
+include ${top_builddir}/Makefile.comm
 
 # Depending on if we build as part of winsup or mingw we need to
 # add additional include paths in order to get the correct headers
 # from the C library.
+#
 BUILDENV = @BUILDENV@
 
 ifeq ($(BUILDENV), cygwin)
@@ -80,21 +35,12 @@ endif
 
 INCLUDES = -I$(srcdir)/../include -I$(srcdir)/../include/directx $(EXTRA_INCLUDES)
 
-CFLAGS = @CFLAGS@
-ALL_CFLAGS = $(CFLAGS) $(INCLUDES)
-
-RANLIB = @RANLIB@
-AR = @AR@
-LD = @LD@
-
-# end config section
-
-# headers
-
+# Headers
+#
 HEADERS = $(notdir $(wildcard $(srcdir)/../../include/directx/*.h))
 
-# libraries
-
+# Libraries
+#
 DEF_FILES = $(notdir $(wildcard $(srcdir)/*.def))
 DIST_C_FILES = $(notdir $(wildcard $(srcdir)/*.c))
 DIST_H_FILES = $(notdir $(wildcard $(srcdir)/*.h))
@@ -110,8 +56,11 @@ DISTFILES = Makefile.in $(DEF_FILES) $(DIST_C_FILES) $(DIST_H_FILES)
 
 .NOTPARALLEL:
 
-# targets
-all: $(LIBS)
+# Targets: (note that 'all-default' is a redirection from 'all',
+# which is the primary default target identified in the included
+# common makefile fragment, ${top_builddir}/Makefile.comm
+#
+all-default: $(LIBS)
 
 TEST_OPTIONS = $(ALL_CFLAGS) -Wall -pedantic -Wsystem-headers -c $(srcdir)/test.c -o test.o
 .PHONY: test
@@ -129,13 +78,8 @@ test:
        @$(WINDRES) --define UNICODE --include-dir $(INCDIR) -i $(srcdir)/res.rc -o test.o
        @rm -f test.o
 
-# make rules
-
-.SUFFIXES: .c .o .def .a
-
-.c.o:
-       $(CC) -c $(ALL_CFLAGS) -o $@ $<
-
+# Rules
+#
 libdxerr8.a: dxerr8.o dxerr8w.o
        $(AR) r $@ dxerr8.o dxerr8w.o
        $(RANLIB) $@
@@ -154,31 +98,8 @@ libdinput8.a: dinput8.def $(DINPUT_OBJS)
        $(AR) r $@ $(DINPUT_OBJS)
        $(RANLIB) $@
 
-lib%.a: %.def %.o
-       $(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $(srcdir)/$*.def
-       $(AR) r $@ $*.o
-       $(RANLIB) $@
-
-lib%.a: %.def
-       $(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $<
-
-lib%.a: %.o
-       $(AR) rc $@ $*.o
-       $(RANLIB) $@
-
-need-DESTDIR-compatibility = prefix libdir includedir
-.PHONY: $(need-DESTDIR-compatibility) fail-DESTDIR-compatibility
-
-$(need-DESTDIR-compatibility):
-       @test -z "$(DESTDIR)" || case "$($@)" in ?:*) \
-         $(MAKE) --no-print-directory reject="$@" fail-DESTDIR-compatibility ;; \
-       esac
-
-fail-DESTDIR-compatibility:
-       $(error DESTDIR is not supported when $(reject) contains Win32 path `$($(reject))'; \
-       try `make install $(reject)=$(shell echo '$($(reject))' | sed s,:,:$(DESTDIR),) ...' instead)
-
-# install headers and libraries in a target specified directory.
+# Install headers and libraries in a target specified directory.
+#
 install: install-libraries install-headers
 
 install-libraries: all $(need-DESTDIR-compatibility)
@@ -193,7 +114,8 @@ install-headers: $(need-DESTDIR-compatibility)
                $(INSTALL_DATA) $(srcdir)/../../include/directx/$$i $(DESTDIR)$(inst_includedir)/$$i ; \
        done
 
-# uninstall headers and libraries from a target specified directory
+# Uninstall headers and libraries from a target specified directory
+#
 uninstall: uninstall-libraries uninstall-headers
 
 uninstall-libraries: $(need-DESTDIR-compatibility)
@@ -208,7 +130,6 @@ uninstall-headers: $(need-DESTDIR-compatibility)
        done
        rmdir $(DESTDIR)$(inst_includedir)
 
-
 dist:
        mkdir $(distdir)/include/directx
        chmod 755 $(distdir)/include/directx
@@ -224,15 +145,4 @@ dist:
 Makefile: Makefile.in ../../config.status ../../configure
        cd ../..; $(SHELL) config.status
 
-# clean
-
-mostlyclean:
-       rm -f *~ *.o *.s
-
-clean:
-       rm -f *.o *.a *.s *~
-
-distclean: clean
-       rm -f config.cache config.status config.log Makefile
-
-maintainer-clean: distclean
+# Makefile.in: end of file