From 2cb04473ba9f6a6d2e4a4a961a04afb64cc58a86 Mon Sep 17 00:00:00 2001 From: Michael McMaster Date: Mon, 14 Jul 2014 14:45:05 +1000 Subject: [PATCH] Fix utility Makefiles to output Windows binaries using mingw --- .../Generated_Source/PSoC5/cybootloader.c | 4 +- .../SCSI2SD/v3/SCSI2SD.cydsn/SCSI2SD.cyfit | Bin 242690 -> 242690 bytes software/bootloaderhost/Makefile | 30 +++++++-- software/bootloaderhost/Makefile.mingw | 25 ------- software/bootloaderhost/build.sh | 6 ++ software/scsi2sd-config/Makefile | 34 +++++++--- software/scsi2sd-config/Makefile.mingw | 19 ------ software/scsi2sd-config/build.sh | 6 ++ software/scsi2sd-config/scsi2sd-config.cc | 7 +- software/scsi2sd-debug/Makefile | 62 ++++++++++++++---- software/scsi2sd-debug/Makefile.mingw | 19 ------ software/scsi2sd-debug/build.sh | 6 ++ .../{main.c => scsi2sd-debug.cc} | 2 +- 13 files changed, 125 insertions(+), 95 deletions(-) delete mode 100644 software/bootloaderhost/Makefile.mingw create mode 100755 software/bootloaderhost/build.sh delete mode 100644 software/scsi2sd-config/Makefile.mingw create mode 100755 software/scsi2sd-config/build.sh delete mode 100644 software/scsi2sd-debug/Makefile.mingw create mode 100755 software/scsi2sd-debug/build.sh rename software/scsi2sd-debug/{main.c => scsi2sd-debug.cc} (99%) diff --git a/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cybootloader.c b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cybootloader.c index 860d0c7..32543d5 100644 --- a/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cybootloader.c +++ b/software/SCSI2SD/v3/SCSI2SD.cydsn/Generated_Source/PSoC5/cybootloader.c @@ -315,7 +315,7 @@ const uint8 cy_bootloader[] = { 0xFFu, 0xF7u, 0xD4u, 0xFDu, 0x21u, 0x78u, 0x01u, 0xF0u, 0xC0u, 0x02u, 0x40u, 0x2Au, 0x00u, 0xD0u, 0x18u, 0xB1u, 0x00u, 0x20u, 0x20u, 0x70u, 0xFFu, 0xF7u, 0x0Cu, 0xFEu, - 0x05u, 0x20u, 0xFFu, 0xF7u, 0x09u, 0xFEu, 0x80u, 0x20u, + 0x14u, 0x20u, 0xFFu, 0xF7u, 0x09u, 0xFEu, 0x80u, 0x20u, 0x20u, 0x70u, 0x00u, 0xF0u, 0xE7u, 0xF8u, 0x48u, 0xB0u, 0x10u, 0xBDu, 0x00u, 0xBFu, 0x0Cu, 0xC1u, 0xFFu, 0x1Fu, 0xFAu, 0x46u, 0x00u, 0x40u, 0x08u, 0xB5u, 0x0Au, 0x4Bu, @@ -1053,7 +1053,7 @@ const uint8 cy_bootloader[] = { 0x10u, 0xBDu, 0x82u, 0x18u, 0x03u, 0x46u, 0x93u, 0x42u, 0x02u, 0xD0u, 0x03u, 0xF8u, 0x01u, 0x1Bu, 0xFAu, 0xE7u, 0x70u, 0x47u, 0x00u, 0x00u, 0x80u, 0x22u, 0x00u, 0x00u, - 0x4Fu, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, + 0x40u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x10u, 0x51u, 0x00u, 0x40u, 0x20u, 0x00u, 0x50u, 0x51u, 0x00u, 0x40u, 0x10u, 0x00u, 0xC0u, 0x51u, 0x00u, 0x40u, 0x10u, 0x00u, 0x00u, 0x00u, 0x01u, 0x40u, 0x00u, 0x10u, diff --git a/software/SCSI2SD/v3/SCSI2SD.cydsn/SCSI2SD.cyfit b/software/SCSI2SD/v3/SCSI2SD.cydsn/SCSI2SD.cyfit index 218cfea68ca2b7d01513c4e2e913e751912bbfce..439ad963a51fcfc05f92311210c9b76f2936d038 100644 GIT binary patch delta 326 zcmZpA!PoSHk2k=ZnMH(wfq{eJ^TM|qd8d~$1L@7nORa>NzW^CeI(9HJ^DKJ1d4AVr zR_1UZqjZ7{3z#uwN)9ua!93$NMC#+*n-Ip?#bTUbsb^~h!HOsU+F$|}Fx4_VGia{ciHZmK48AmrVn}ZquVNwR0 zn2o?9shfZXf)vl)#OwfOJlMo+24+ZZX4VHfXu8*CW-Acgwize^bl3F#o0**fLp_vy delta 326 zcmZpA!PoSHk2k=ZnMH(wfq{eJ%bM34d8d~$1L@7nORa>NzXBOgI(9HJbF6*6d4AVr zR^~7uqjZ7{3z#uwN)9ua!93$NMC#+*n-Ip?#bTUbsb^~h!HOsU+F$|}Fx+M(5nM)W!4DU?l92Vw0AZu4HbEgx?S<~G%FzbOC z4_VGia{ciHZmK48AmrVn}ZquVNwR0 zn2o?9shfZXf)vl)#OwfOJlMo+24+ZZX4VHfXu8*CW-Acgwize^bl3F#o0**f@Me{i diff --git a/software/bootloaderhost/Makefile b/software/bootloaderhost/Makefile index 29f24bb..d12da46 100644 --- a/software/bootloaderhost/Makefile +++ b/software/bootloaderhost/Makefile @@ -4,13 +4,29 @@ CPPFLAGS = -I cybootloaderutils -I hidapi/hidapi CFLAGS += -Wall -Wno-pointer-sign -O2 CXXFLAGS += -Wall -std=c++11 -O2 -UNAME_S := $(shell uname -s) -ifeq ($(UNAME_S),Linux) +TARGET ?= $(shell uname -s) +ifeq ($(TARGET),Win32) + VPATH += hidapi/windows + LDFLAGS += -mconsole -mwindows -lsetupapi + BUILD = build/windows/32bit + CC=i686-w64-mingw32-gcc + CXX=i686-w64-mingw32-g++ + EXE=.exe +endif +ifeq ($(TARGET),Win64) + VPATH += hidapi/windows + LDFLAGS += -mconsole -mwindows -lsetupapi + BUILD = build/windows/64bit + CC=x86_64-w64-mingw32-gcc + CXX=x86_64-w64-mingw32-g++ + EXE=.exe +endif +ifeq ($(TARGET),Linux) VPATH += hidapi/linux LDFLAGS += -ludev - BUILD=build/linux + BUILD = build/linux endif -ifeq ($(UNAME_S),Darwin) +ifeq ($(TARGET),Darwin) # Should match OSX VPATH += hidapi/mac LDFLAGS += -framework IOKit -framework CoreFoundation @@ -22,7 +38,7 @@ ifeq ($(UNAME_S),Darwin) BUILD=build/mac endif -all: $(BUILD)/bootloaderhost +all: $(BUILD)/bootloaderhost$(EXE) CYAPI = \ $(BUILD)/cybtldr_api2.o \ @@ -50,10 +66,10 @@ $(BUILD)/%.o: %.cc mkdir -p $(dir $@) $(CXX) $(CPPFLAGS) $(CXXFLAGS) $^ -c -o $@ -$(BUILD)/bootloaderhost: $(OBJ) +$(BUILD)/bootloaderhost$(EXE): $(OBJ) mkdir -p $(dir $@) $(CXX) $(CXXFLAGS) $^ $(LDFLAGS) -o $@ clean: - rm $(BUILD)/bootloaderhost $(OBJ) + rm $(BUILD)/bootloaderhost$(EXE) $(OBJ) diff --git a/software/bootloaderhost/Makefile.mingw b/software/bootloaderhost/Makefile.mingw deleted file mode 100644 index 820212f..0000000 --- a/software/bootloaderhost/Makefile.mingw +++ /dev/null @@ -1,25 +0,0 @@ -all: build/windows/32bit/bootloaderhost.exe build/windows/64bit/bootloaderhost.exe - -CYAPI = \ - cybootloaderutils/cybtldr_api2.c \ - cybootloaderutils/cybtldr_api.c \ - cybootloaderutils/cybtldr_command.c \ - cybootloaderutils/cybtldr_parse.c \ - -CFLAGS += -Wall -Wno-pointer-sign -LDFLAGS=-mconsole -mwindows -lsetupapi - -HID_C = hidapi/windows/hid.c - - -build/windows/32bit/bootloaderhost.exe: main.c $(HID_C) $(CYAPI) - mkdir -p $(dir $@) - i686-w64-mingw32-gcc $(CFLAGS) -I cybootloaderutils -I hidapi/hidapi $^ $(LDFLAGS) -o $@ - -build/windows/64bit/bootloaderhost.exe: main.c $(HID_C) $(CYAPI) - mkdir -p $(dir $@) - x86_64-w64-mingw32-gcc $(CFLAGS) -I cybootloaderutils -I hidapi/hidapi $^ $(LDFLAGS) -o $@ - -clean: - rm -r build/windows - diff --git a/software/bootloaderhost/build.sh b/software/bootloaderhost/build.sh new file mode 100755 index 0000000..a7a8f7f --- /dev/null +++ b/software/bootloaderhost/build.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +make && \ + make TARGET=Win32 && + make TARGET=Win64 + diff --git a/software/scsi2sd-config/Makefile b/software/scsi2sd-config/Makefile index 86208f4..0b75eec 100644 --- a/software/scsi2sd-config/Makefile +++ b/software/scsi2sd-config/Makefile @@ -4,13 +4,29 @@ CFLAGS += -Wall -Wno-pointer-sign -O2 CXXFLAGS += -Wall -std=c++11 -O2 VPATH += ../bootloaderhost -UNAME_S := $(shell uname -s) -ifeq ($(UNAME_S),Linux) - VPATH += ../bootloaderhost/hidapi/linux - LDFLAGS += -ludev - BUILD=build/linux +TARGET ?= $(shell uname -s) +ifeq ($(TARGET),Win32) + VPATH += hidapi/windows + LDFLAGS += -mconsole -mwindows -lsetupapi -lws2_32 + BUILD = build/windows/32bit + CC=i686-w64-mingw32-gcc + CXX=i686-w64-mingw32-g++ + EXE=.exe endif -ifeq ($(UNAME_S),Darwin) +ifeq ($(TARGET),Win64) + VPATH += hidapi/windows + LDFLAGS += -mconsole -mwindows -lsetupapi -lws2_32 + BUILD = build/windows/64bit + CC=x86_64-w64-mingw32-gcc + CXX=x86_64-w64-mingw32-g++ + EXE=.exe +endif +ifeq ($(TARGET),Linux) + VPATH += hidapi/linux + LDFLAGS += -ludev + BUILD = build/linux +endif +ifeq ($(TARGET),Darwin) # Should match OSX VPATH += ../bootloaderhost/hidapi/mac LDFLAGS += -framework IOKit -framework CoreFoundation @@ -22,7 +38,7 @@ ifeq ($(UNAME_S),Darwin) BUILD=build/mac endif -all: $(BUILD)/scsi2sd-config +all: $(BUILD)/scsi2sd-config$(EXE) HIDAPI = \ $(BUILD)/hid.o \ @@ -40,9 +56,9 @@ $(BUILD)/%.o: %.cc mkdir -p $(dir $@) $(CXX) $(CPPFLAGS) $(CXXFLAGS) $^ -c -o $@ -$(BUILD)/scsi2sd-config: $(OBJ) +$(BUILD)/scsi2sd-config$(EXE): $(OBJ) mkdir -p $(dir $@) $(CXX) $(CXXFLAGS) $^ $(LDFLAGS) -o $@ clean: - rm $(BUILD)/scsi2sd-config $(OBJ) + rm $(BUILD)/scsi2sd-config$(EXE) $(OBJ) diff --git a/software/scsi2sd-config/Makefile.mingw b/software/scsi2sd-config/Makefile.mingw deleted file mode 100644 index ecc9a9b..0000000 --- a/software/scsi2sd-config/Makefile.mingw +++ /dev/null @@ -1,19 +0,0 @@ -all: build/windows/32bit/scsi2sd-config.exe build/windows/64bit/scsi2sd-config.exe - -CFLAGS += -Wall -LDFLAGS=-mconsole -mwindows -lsetupapi -lws2_32 - -HID_C = ../bootloaderhost/hidapi/windows/hid.c - - -build/windows/32bit/scsi2sd-config.exe: main.c $(HID_C) - mkdir -p $(dir $@) - i686-w64-mingw32-gcc $(CFLAGS) -I ../bootloaderhost/hidapi/hidapi $^ $(LDFLAGS) -o $@ - -build/windows/64bit/scsi2sd-config.exe: main.c $(HID_C) - mkdir -p $(dir $@) - x86_64-w64-mingw32-gcc $(CFLAGS) -I ../bootloaderhost/hidapi/hidapi $^ $(LDFLAGS) -o $@ - -clean: - rm -r build/windows - diff --git a/software/scsi2sd-config/build.sh b/software/scsi2sd-config/build.sh new file mode 100755 index 0000000..a7a8f7f --- /dev/null +++ b/software/scsi2sd-config/build.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +make && \ + make TARGET=Win32 && + make TARGET=Win64 + diff --git a/software/scsi2sd-config/scsi2sd-config.cc b/software/scsi2sd-config/scsi2sd-config.cc index dde17b8..6e2d167 100644 --- a/software/scsi2sd-config/scsi2sd-config.cc +++ b/software/scsi2sd-config/scsi2sd-config.cc @@ -22,8 +22,11 @@ #include #include -#include +// Request extended stdio format macros. +#define __STDC_FORMAT_MACROS #include + +#include #include #include #include @@ -31,7 +34,7 @@ #include // htonl/ntohl includes. -#ifdef WIN32 +#ifdef _WIN32 #include #else #include diff --git a/software/scsi2sd-debug/Makefile b/software/scsi2sd-debug/Makefile index d286620..c89406e 100644 --- a/software/scsi2sd-debug/Makefile +++ b/software/scsi2sd-debug/Makefile @@ -1,24 +1,64 @@ -all: build/scsi2sd-debug -CFLAGS += -Wall +CPPFLAGS = -I ../bootloaderhost/hidapi/hidapi -I ../bootloaderhost +CFLAGS += -Wall -Wno-pointer-sign -O2 +CXXFLAGS += -Wall -std=c++11 -O2 +VPATH += ../bootloaderhost -UNAME_S := $(shell uname -s) -ifeq ($(UNAME_S),Linux) - HID_C = ../bootloaderhost/hidapi/linux/hid.c +TARGET ?= $(shell uname -s) +ifeq ($(TARGET),Win32) + VPATH += hidapi/windows + LDFLAGS += -mconsole -mwindows -lsetupapi -lws2_32 + BUILD = build/windows/32bit + CC=i686-w64-mingw32-gcc + CXX=i686-w64-mingw32-g++ + EXE=.exe +endif +ifeq ($(TARGET),Win64) + VPATH += hidapi/windows + LDFLAGS += -mconsole -mwindows -lsetupapi -lws2_32 + BUILD = build/windows/64bit + CC=x86_64-w64-mingw32-gcc + CXX=x86_64-w64-mingw32-g++ + EXE=.exe +endif +ifeq ($(TARGET),Linux) + VPATH += hidapi/linux LDFLAGS += -ludev + BUILD = build/linux endif -ifeq ($(UNAME_S),Darwin) +ifeq ($(TARGET),Darwin) # Should match OSX - HID_C = ../bootloaderhost/hidapi/mac/hid.c + VPATH += ../bootloaderhost/hidapi/mac LDFLAGS += -framework IOKit -framework CoreFoundation - CFLAGS += -mmacosx-version-min=10.5 -arch x86_64 -arch i386 -arch ppc -isysroot /Xcode3.1.4/SDKs/MacOSX10.5.sdk + CPPFLAGS += -isysroot /Xcode3.1.4/SDKs/MacOSX10.5.sdk + CFLAGS += -mmacosx-version-min=10.5 -arch x86_64 -arch i386 -arch ppc + CXXFLAGS += -mmacosx-version-min=10.5 -arch x86_64 -arch i386 -arch ppc CC=/Xcode3.1.4/usr/bin/gcc + CXX=/Xcode3.1.4/usr/bin/g++ + BUILD=build/mac endif +all: $(BUILD)/scsi2sd-debug$(EXE) -build/scsi2sd-debug: main.c $(HID_C) $(CYAPI) +HIDAPI = \ + $(BUILD)/hid.o \ + +OBJ = \ + $(HIDAPI) \ + $(BUILD)/scsi2sd-debug.o \ + $(BUILD)/SCSI2SD_HID.o \ + +$(BUILD)/%.o: %.c mkdir -p $(dir $@) - $(CC) $(CFLAGS) -I ../bootloaderhost/hidapi/hidapi $^ $(LDFLAGS) -o $@ + $(CC) $(CPPFLAGS) $(CFLAGS) $^ -c -o $@ + +$(BUILD)/%.o: %.cc + mkdir -p $(dir $@) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) $^ -c -o $@ + +$(BUILD)/scsi2sd-debug$(EXE): $(OBJ) + mkdir -p $(dir $@) + $(CXX) $(CXXFLAGS) $^ $(LDFLAGS) -o $@ clean: - rm build/scsi2sd-debug + rm $(BUILD)/scsi2sd-debug$(EXE) $(OBJ) diff --git a/software/scsi2sd-debug/Makefile.mingw b/software/scsi2sd-debug/Makefile.mingw deleted file mode 100644 index 4fae0f6..0000000 --- a/software/scsi2sd-debug/Makefile.mingw +++ /dev/null @@ -1,19 +0,0 @@ -all: build/windows/32bit/scsi2sd-debug.exe build/windows/64bit/scsi2sd-debug.exe - -CFLAGS += -Wall -LDFLAGS=-mconsole -mwindows -lsetupapi -lws2_32 - -HID_C = ../bootloaderhost/hidapi/windows/hid.c - - -build/windows/32bit/scsi2sd-debug.exe: main.c $(HID_C) - mkdir -p $(dir $@) - i686-w64-mingw32-gcc $(CFLAGS) -I ../bootloaderhost/hidapi/hidapi $^ $(LDFLAGS) -o $@ - -build/windows/64bit/scsi2sd-debug.exe: main.c $(HID_C) - mkdir -p $(dir $@) - x86_64-w64-mingw32-gcc $(CFLAGS) -I ../bootloaderhost/hidapi/hidapi $^ $(LDFLAGS) -o $@ - -clean: - rm -r build/windows - diff --git a/software/scsi2sd-debug/build.sh b/software/scsi2sd-debug/build.sh new file mode 100755 index 0000000..a7a8f7f --- /dev/null +++ b/software/scsi2sd-debug/build.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +make && \ + make TARGET=Win32 && + make TARGET=Win64 + diff --git a/software/scsi2sd-debug/main.c b/software/scsi2sd-debug/scsi2sd-debug.cc similarity index 99% rename from software/scsi2sd-debug/main.c rename to software/scsi2sd-debug/scsi2sd-debug.cc index cf233d7..542f162 100644 --- a/software/scsi2sd-debug/main.c +++ b/software/scsi2sd-debug/scsi2sd-debug.cc @@ -24,7 +24,7 @@ #include // htonl/ntohl includes. -#ifdef WIN32 +#ifdef _WIN32 #include #else #include