Makefile 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. VPATH=cybootloaderutils
  2. CPPFLAGS = -I cybootloaderutils -I hidapi/hidapi
  3. CFLAGS += -Wall -Wno-pointer-sign -O2
  4. CXXFLAGS += -Wall -O2
  5. TARGET ?= $(shell uname -s)
  6. ifeq ($(TARGET),Win32)
  7. VPATH += hidapi/windows
  8. LDFLAGS += -static -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 += -static -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. CFLAGS += -mmacosx-version-min=10.7
  32. CXXFLAGS += -stdlib=libc++ -mmacosx-version-min=10.7 -std=c++0x
  33. CC=clang
  34. CXX=clang++
  35. BUILD=build/mac
  36. endif
  37. all: $(BUILD)/bootloaderhost$(EXE)
  38. CYAPI = \
  39. $(BUILD)/cybtldr_api2.o \
  40. $(BUILD)/cybtldr_api.o \
  41. $(BUILD)/cybtldr_command.o \
  42. $(BUILD)/cybtldr_parse.o \
  43. HIDAPI = \
  44. $(BUILD)/hid.o \
  45. OBJ = \
  46. $(CYAPI) $(HIDAPI) \
  47. $(BUILD)/main.o \
  48. $(BUILD)/Firmware.o \
  49. $(BUILD)/SCSI2SD_Bootloader.o \
  50. $(BUILD)/SCSI2SD_HID.o \
  51. $(BUILD)/%.o: %.c
  52. mkdir -p $(dir $@)
  53. $(CC) $(CPPFLAGS) $(CFLAGS) $^ -c -o $@
  54. $(BUILD)/%.o: %.cc
  55. mkdir -p $(dir $@)
  56. $(CXX) $(CPPFLAGS) $(CXXFLAGS) $^ -c -o $@
  57. $(BUILD)/bootloaderhost$(EXE): $(OBJ)
  58. mkdir -p $(dir $@)
  59. $(CXX) $(CXXFLAGS) $^ $(LDFLAGS) -o $@
  60. clean:
  61. rm $(BUILD)/bootloaderhost$(EXE) $(OBJ)