Makefile 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. VPATH=cybootloaderutils
  2. CPPFLAGS = -I cybootloaderutils -I hidapi/hidapi
  3. CFLAGS += -Wall -Wno-pointer-sign -O2
  4. CXXFLAGS += -Wall -std=c++11 -O2
  5. TARGET ?= $(shell uname -s)
  6. ifeq ($(TARGET),Win32)
  7. VPATH += hidapi/windows
  8. LDFLAGS += -mconsole -mwindows -lsetupapi
  9. BUILD = build/windows/32bit
  10. CC=i686-w64-mingw32-gcc
  11. CXX=i686-w64-mingw32-g++
  12. EXE=.exe
  13. endif
  14. ifeq ($(TARGET),Win64)
  15. VPATH += hidapi/windows
  16. LDFLAGS += -mconsole -mwindows -lsetupapi
  17. BUILD = build/windows/64bit
  18. CC=x86_64-w64-mingw32-gcc
  19. CXX=x86_64-w64-mingw32-g++
  20. EXE=.exe
  21. endif
  22. ifeq ($(TARGET),Linux)
  23. VPATH += hidapi/linux
  24. LDFLAGS += -ludev
  25. BUILD = build/linux
  26. endif
  27. ifeq ($(TARGET),Darwin)
  28. # Should match OSX
  29. VPATH += hidapi/mac
  30. LDFLAGS += -framework IOKit -framework CoreFoundation
  31. CPPFLAGS += -isysroot /Xcode3.1.4/SDKs/MacOSX10.5.sdk
  32. CFLAGS += -mmacosx-version-min=10.5 -arch x86_64 -arch i386 -arch ppc
  33. CXXFLAGS += -mmacosx-version-min=10.5 -arch x86_64 -arch i386 -arch ppc
  34. CC=/Xcode3.1.4/usr/bin/gcc
  35. CXX=/Xcode3.1.4/usr/bin/g++
  36. BUILD=build/mac
  37. endif
  38. all: $(BUILD)/bootloaderhost$(EXE)
  39. CYAPI = \
  40. $(BUILD)/cybtldr_api2.o \
  41. $(BUILD)/cybtldr_api.o \
  42. $(BUILD)/cybtldr_command.o \
  43. $(BUILD)/cybtldr_parse.o \
  44. HIDAPI = \
  45. $(BUILD)/hid.o \
  46. OBJ = \
  47. $(CYAPI) $(HIDAPI) \
  48. $(BUILD)/main.o \
  49. $(BUILD)/Firmware.o \
  50. $(BUILD)/SCSI2SD_Bootloader.o \
  51. $(BUILD)/SCSI2SD_HID.o \
  52. $(BUILD)/%.o: %.c
  53. mkdir -p $(dir $@)
  54. $(CC) $(CPPFLAGS) $(CFLAGS) $^ -c -o $@
  55. $(BUILD)/%.o: %.cc
  56. mkdir -p $(dir $@)
  57. $(CXX) $(CPPFLAGS) $(CXXFLAGS) $^ -c -o $@
  58. $(BUILD)/bootloaderhost$(EXE): $(OBJ)
  59. mkdir -p $(dir $@)
  60. $(CXX) $(CXXFLAGS) $^ $(LDFLAGS) -o $@
  61. clean:
  62. rm $(BUILD)/bootloaderhost$(EXE) $(OBJ)