From 22f703cab05b7cd368f4de9e03991b7664dc5022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Mon, 1 Sep 2014 13:56:46 +0200 Subject: Initial import of argyll version 1.5.1-8 --- usb/driver/Makefile | 261 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 261 insertions(+) create mode 100644 usb/driver/Makefile (limited to 'usb/driver/Makefile') diff --git a/usb/driver/Makefile b/usb/driver/Makefile new file mode 100644 index 0000000..18937ab --- /dev/null +++ b/usb/driver/Makefile @@ -0,0 +1,261 @@ +# LIBUSB-WIN32, Generic Windows USB Library +# Copyright (c) 2002-2005 Stephan Meyer +# Copyright (c) 2010 Travis Robinson +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +# Supported arugments: all, dll, filter, infwizard, test, testwin, driver +# +# + +# If you're cross-compiling and your mingw32 tools are called +# i586-mingw32msvc-gcc and so on, then you can compile libusb-win32 +# by running +# make host_prefix=i586-mingw32msvc all + +ifdef host_prefix + override host_prefix := $(host_prefix)- +endif +ifdef host_prefix_x86 + override host_prefix_x86 := $(host_prefix_x86)- +endif +ifdef cflags + DBG_DEFINE = $(cflags) +endif + +CC = $(host_prefix)gcc +LD = $(host_prefix)ld +WINDRES = $(host_prefix)windres +DLLTOOL = $(host_prefix)dlltool + +CC86 = $(host_prefix_x86)gcc +LD86 = $(host_prefix_x86)ld +WINDRES86 = windres +DLLTOOL86 = dlltool + +MAKE = make +CP = cp +CD = cd +MV = mv +RM = -rm -fr +TAR = tar +ISCC = iscc +INSTALL = install +LIB = lib +IMPLIB = implib +UNIX2DOS = unix2dos + +TARGET = libusb +DLL_TARGET = $(TARGET)0 +LIB_TARGET = $(TARGET) +DRIVER_TARGET = $(TARGET)0.sys +INSTALL_DIR = /usr +VPATH = .:./src:./src/driver:./tests + +LIBWDI_DIR = ./projects/additional/libwdi/libwdi +SRC_DIR = ./src +DRIVER_SRC_DIR = $(SRC_DIR)/driver + +LIBWDI_CONFIG_H = -DWDF_VER=\"01009\" -DUSER_DIR=\"\" -DOPT_M32 -DWINVER=0x500 + +DRIVER_OBJECTS = abort_endpoint.o claim_interface.o clear_feature.o \ + dispatch.o get_configuration.o \ + get_descriptor.o get_interface.o get_status.o \ + ioctl.o libusb_driver.o pnp.o release_interface.o reset_device.o \ + reset_endpoint.o set_configuration.o set_descriptor.o \ + set_feature.o set_interface.o transfer.o vendor_request.o \ + power.o driver_registry.o error.o libusb_driver_rc.o + +LIBWDI_OBJECTS = $(LIBWDI_DIR)/logging.5.o \ + $(LIBWDI_DIR)/tokenizer.5.o \ + $(LIBWDI_DIR)/vid_data.5.o \ + $(LIBWDI_DIR)/libwdi_dlg.5.o \ + $(LIBWDI_DIR)/libwdi.5.o + + +INCLUDES = -I./src -I./src/driver -I. + +CFLAGS = -O2 -Wall -DWINVER=0x500 $(DBG_DEFINE) +WIN_CFLAGS = $(CFLAGS) -mwindows + +WINDRES_FLAGS = -I$(SRC_DIR) + +STDC_LD_LIBS=-lkernel32 \ + -luser32 \ + -lgdi32 \ + -lwinspool \ + -lcomdlg32 \ + -ladvapi32 \ + -lshell32 \ + -lole32 \ + -loleaut32 \ + -luuid \ + -lodbc32 \ + -lodbccp32 + +LDFLAGS = -s -L. -lusb -lgdi32 -luser32 -lcfgmgr32 -lsetupapi -lcomctl32 +TEST_WIN_LDFLAGS = -s -L. -lusb -lkernel32 -lgdi32 -luser32 -lnewdev -lsetupapi -lcomctl32 -lole32 -mwindows +WIN_LDFLAGS = -s -L. -lkernel32 -lgdi32 -luser32 -lnewdev -lsetupapi -lcomctl32 -lole32 -mwindows +DLL_LDFLAGS = -s -mdll \ + -Wl,--kill-at \ + -Wl,--out-implib,$(LIB_TARGET).a \ + -Wl,--enable-stdcall-fixup \ + -L. -lcfgmgr32 -lsetupapi -lgdi32 + +LIBWDI_DLL_LDFLAGS = -s -shared \ + -Wl,--kill-at \ + -Wl,--out-implib,libwdi.a \ + -Wl,--enable-stdcall-fixup \ + -L. -lnewdev -lsetupapi -lole32 + +DRIVER_LDFLAGS = -s -shared -Wl,--entry,_DriverEntry@8 \ + -nostartfiles -nostdlib -L. -lusbd -lntoskrnl -lhal + + +.PHONY: all +all: dll filter test testwin + +.PHONY: dll +dll: DLL_CFLAGS = $(CFLAGS) -DLOG_APPNAME=\"$(DLL_TARGET)-dll\" -DTARGETTYPE=DYNLINK +dll: $(DLL_TARGET).dll + +$(DLL_TARGET).dll: usb.2.o error.2.o descriptors.2.o windows.2.o install.2.o registry.2.o resource.2.o + $(CC) $(DLL_CFLAGS) -o $@ -I./src $^ $(DLL_TARGET).def $(DLL_LDFLAGS) + +%.2.o: %.c libusb_driver.h driver_api.h error.h + $(CC) $(DLL_CFLAGS) -c $< -o $@ $(CPPFLAGS) $(INCLUDES) + +%.2.o: %.rc + $(WINDRES) $(CPPFLAGS) $(WINDRES_FLAGS) $< -o $@ + +.PHONY: filter +filter: FILTER_CFLAGS = $(CFLAGS) -DLOG_APPNAME=\"install-filter\" -DTARGETTYPE=PROGRAMconsole -DLOG_STYLE_SHORT +filter: FILTER_LDFLAGS = -s -L. -lgdi32 -luser32 -lcfgmgr32 -lsetupapi +filter: install-filter.exe + + +install-filter.exe: install_filter.1.o error.1.o install.1.o registry.1.o install_filter_rc.1.o + $(CC) $(FILTER_CFLAGS) -o $@ -I./src $^ $(FILTER_LDFLAGS) + +%.1.o: %.c libusb_driver.h driver_api.h error.h + $(CC) $(FILTER_CFLAGS) -c $< -o $@ $(CPPFLAGS) $(INCLUDES) + +%.1.o: %.rc + $(WINDRES) $(CPPFLAGS) $(WINDRES_FLAGS) $< -o $@ + +.PHONY: test +test: dll +test: TEST_CFLAGS = $(CFLAGS) -DLOG_APPNAME=\"testlibusb\" -DTARGETTYPE=PROGRAMconsole +test: testlibusb.exe + +testlibusb.exe: testlibusb.3.o + $(CC) $(TEST_CFLAGS) -o $@ -I./src $^ $(LDFLAGS) + +%.3.o: %.c libusb_driver.h driver_api.h error.h + $(CC) -c $< -o $@ $(TEST_CFLAGS) $(CPPFLAGS) $(INCLUDES) + +.PHONY: testwin +testwin: dll +testwin: TESTWIN_CFLAGS = $(CFLAGS) -DLOG_APPNAME=\"testlibusb-win\" -DTARGETTYPE=PROGRAMwindows +testwin: testlibusb-win.exe + +testlibusb-win.exe: testlibusb_win.4.o testlibusb_win_rc.4.o + $(CC) $(TESTWIN_CFLAGS) -o $@ -I./src $^ $(TEST_WIN_LDFLAGS) + +%.4.o: %.c libusb_driver.h driver_api.h error.h + $(CC) -c $< -o $@ $(TESTWIN_CFLAGS) $(CPPFLAGS) $(INCLUDES) + +%.4.o: %.rc + $(WINDRES) $(CPPFLAGS) $(WINDRES_FLAGS) $< -o $@ + +# +# LIBWDI installer_x86 +# +.PHONY: installer_x86 +installer_x86: INSTALLER_CFLAGS = $(CFLAGS) -DLOG_APPNAME=\"installer_x86\" -DTARGETTYPE=PROGRAMconsole $(LIBWDI_CONFIG_H) +installer_x86: INSTALLER_LDFLAGS = -s -L. -ladvapi32 -lnewdev -lsetupapi +installer_x86: installer_x86.exe + +installer_x86.exe: $(LIBWDI_DIR)/installer.6.o + $(CC86) $(INSTALLER_CFLAGS) -o $@ -I$(LIBWDI_DIR) $^ $(INSTALLER_LDFLAGS) + $(CP) $(LIBWDI_DIR)/../msvc/config.h $(LIBWDI_DIR) + +%.6.o: %.c $(LIBWDI_DIR)/installer.h + $(CC86) -c $< -o $@ $(INSTALLER_CFLAGS) $(CPPFLAGS) -DWINVER=0x500 -I$(LIBWDI_DIR) + +# +# LIBWDI embedder +# +.PHONY: embedder +embedder: installer_x86 +embedder: EMBEDDER_CFLAGS = $(CFLAGS) -DLOG_APPNAME=\"embedder\" -DTARGETTYPE=PROGRAMconsole $(LIBWDI_CONFIG_H) +embedder: EMBEDDER_LDFLAGS = -s -L. -luser32 -lversion +embedder: embedder.exe + +embedder.exe: $(LIBWDI_DIR)/embedder.7.o + $(CC86) $(EMBEDDER_CFLAGS) -o $@ -I$(LIBWDI_DIR) $^ $(EMBEDDER_LDFLAGS) + $(CP) -u $(LIBWDI_DIR)/winusb.inf.in ./ + $(CP) -u $(LIBWDI_DIR)/libusb-win32.inf.in ./ + ./embedder.exe embedded.h + +%.7.o: %.c $(LIBWDI_DIR)/embedder.h + $(CC86) -c $< -o $@ $(EMBEDDER_CFLAGS) $(CPPFLAGS) -DWINVER=0x500 -I$(LIBWDI_DIR) + +.PHONY: infwizard +infwizard: embedder +infwizard: INFWIZARD_CFLAGS = $(CFLAGS) -DLOG_APPNAME=\"infwizard\" -DTARGETTYPE=PROGRAMwindows +infwizard: inf-wizard.exe + +inf-wizard.exe: inf_wizard.5.o inf_wizard_rc.5.o $(LIBWDI_OBJECTS) + $(CC86) $(WIN_CFLAGS) -o $@ -I./src -I$(LIBWDI_DIR) $^ $(WIN_LDFLAGS) + +%.5.o: %.c libusb-win32_version.h $(LIBWDI_DIR)/libwdi.h + $(CC86) -c $< -o $@ -I$(LIBWDI_DIR) $(INFWIZARD_CFLAGS) $(CPPFLAGS) $(INCLUDES) + +%.5.o: %.rc + $(WINDRES86) $(CPPFLAGS) $(WINDRES_FLAGS) $< -o $@ + +.PHONY: driver +driver: DRIVER_CFLAGS = $(CFLAGS) -DLOG_APPNAME=\"$(DLL_TARGET)-sys\" -DTARGETTYPE=DRIVER +driver: $(DRIVER_TARGET) + +$(DRIVER_TARGET): libusbd.a $(DRIVER_OBJECTS) + $(CC) -o $@ $(DRIVER_OBJECTS) $(DLL_TARGET)_drv.def $(DRIVER_LDFLAGS) + +libusbd.a: + $(DLLTOOL) --dllname usbd.sys --add-underscore --def ./src/driver/usbd.def --output-lib libusbd.a + +%.o: %.c libusb_driver.h driver_api.h error.h + $(CC) -c $< -o $@ $(DRIVER_CFLAGS) $(CPPFLAGS) $(INCLUDES) + +%.o: %.rc + $(WINDRES) $(CPPFLAGS) $(WINDRES_FLAGS) $< -o $@ + +.PHONY: cleantemp +cleantemp: + $(RM) *.o *.a *.exp *.tar.gz *~ *.iss *.rc *.h + $(RM) $(LIBWDI_DIR)/*.o + $(RM) $(LIBWDI_DIR)/config.h + $(RM) ./src/*~ *.log + $(RM) $(DRIVER_SRC_DIR)/*~ + $(RM) README.txt + $(RM) winusb.inf.in + $(RM) libusb-win32.inf.in + $(RM) inf_wizard.ico + +.PHONY: clean +clean: cleantemp + $(RM) *.dll *.lib *.exe *.sys -- cgit v1.2.3