# Makefile.in # # This file is part of a free library building Windows NT drivers. # # 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. # 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 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) # winsup/include # winsup/../newlib/libc/include # winsup/../newlib/libc/sys/cygwin EXTRA_INCLUDES = -I$(srcdir)/../../include -I$(srcdir)/../../../newlib/libc/include -I$(srcdir)/../../../newlib/libc/sys/cygwin endif ifeq ($(BUILDENV), mingw) EXTRA_INCLUDES = -I$(srcdir)/../../mingw/include 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 = $(notdir $(wildcard $(srcdir)/../../include/directx/*.h)) # libraries DEF_FILES = $(notdir $(wildcard $(srcdir)/*.def)) DIST_C_FILES = $(notdir $(wildcard $(srcdir)/*.c)) DIST_H_FILES = $(notdir $(wildcard $(srcdir)/*.h)) LIBS = libd3d8.a libd3d9.a libd3dim.a libd3drm.a libd3dx8d.a libd3dx9d.a \ libd3dxof.a libddraw.a libdinput.a libdinput8.a libdmoguids.a \ libdplayx.a libdpnaddr.a libdpnet.a libdpnlobby.a libdpvoice.a \ libdsetup.a libdsound.a libdxerr8.a libdxerr9.a libdxguid.a \ libksproxy.a libksuser.a libmsdmo.a libstrmiids.a DINPUT_OBJS = dinput_joy.o dinput_joy2.o dinput_kbd.o dinput_mouse.o \ dinput_mouse2.o DISTFILES = Makefile.in $(DEF_FILES) $(DIST_C_FILES) $(DIST_H_FILES) .NOTPARALLEL: # targets all: $(LIBS) TEST_OPTIONS = $(ALL_CFLAGS) -Wall -pedantic -Wsystem-headers -c $(srcdir)/test.c -o test.o .PHONY: test test: @echo "Testing directx..." @for lang in c c++ objective-c ; do \ echo "$$lang..."; \ $(CC) -x$$lang $(TEST_OPTIONS) ; \ echo "$$lang UNICODE..."; \ $(CC) -x$$lang -DUNICODE $(TEST_OPTIONS) ; \ done @echo "windres..." @$(WINDRES) --include-dir $(INCDIR) -i $(srcdir)/res.rc -o test.o @echo "windres UNICODE..." @$(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 $@ $< libdxerr8.a: dxerr8.o dxerr8w.o $(AR) r $@ dxerr8.o dxerr8w.o $(RANLIB) $@ libdxerr9.a: dxerr9.o dxerr9w.o $(AR) r $@ dxerr9.o dxerr9w.o $(RANLIB) $@ libdinput.a: dinput.def $(DINPUT_OBJS) $(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $(srcdir)/dinput.def $(AR) r $@ $(DINPUT_OBJS) $(RANLIB) $@ libdinput8.a: dinput8.def $(DINPUT_OBJS) $(DLLTOOL) $(DLLTOOL_FLAGS) --output-lib $@ --def $(srcdir)/dinput8.def $(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) $@ # install headers and libraries in a target specified directory. install: install-libraries install-headers install-libraries: all $(mkinstalldirs) $(inst_libdir) for i in $(LIBS); do \ $(INSTALL_DATA) $$i $(inst_libdir)/$$i ; \ done install-headers: $(mkinstalldirs) $(inst_includedir) for i in $(HEADERS); do \ $(INSTALL_DATA) $(srcdir)/../../include/directx/$$i $(inst_includedir)/$$i ; \ done # uninstall headers and libraries from a target specified directory uninstall: uninstall-libraries uninstall-headers uninstall-libraries: @for i in $(LIBS); do \ rm -f $(inst_libdir)/$$i ; \ done rmdir $(inst_libdir) uninstall-headers: @for i in $(HEADERS); do \ rm -r $(inst_includedir)/$$i ; \ done rmdir $(inst_includedir) dist: mkdir $(distdir)/include/directx chmod 755 $(distdir)/include/directx @for i in $(HEADERS); do \ cp -p $(srcdir)/../../include/directx/$$i $(distdir)/include/directx/$$i ; \ done mkdir $(distdir)/lib/directx chmod 755 $(distdir)/lib/directx @for i in $(DISTFILES); do \ cp -p $(srcdir)/$$i $(distdir)/lib/directx/$$i ; \ done 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