221 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			221 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
# 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@
 | 
						|
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
 | 
						|
inst_includedir:=$(includedir)
 | 
						|
inst_libdir:=$(libdir)
 | 
						|
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
 |