Factor common code from subdirectory makefiles into Makefile.comm.in

This commit is contained in:
Keith Marshall 2011-12-13 20:46:53 +00:00
parent 5cc68751fd
commit f46fcfebd1
7 changed files with 290 additions and 351 deletions

View File

@ -1,3 +1,22 @@
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

View File

@ -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

View File

@ -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

View 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

View 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

View 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@
top_srcdir = @top_srcdir@
top_builddir = @top_builddir@
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
CC = @CC@
CC_FOR_TARGET = $(CC)
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

View 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@
top_srcdir = @top_srcdir@
top_builddir = @top_builddir@
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
CC = @CC@
CC_FOR_TARGET = $(CC)
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