Makefile 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. CPPFLAGS = -I ../bootloaderhost/hidapi/hidapi -I ../bootloaderhost
  2. CFLAGS += -Wall -Wno-pointer-sign -O2
  3. CXXFLAGS += -Wall -O2
  4. VPATH += ../bootloaderhost
  5. TARGET ?= $(shell uname -s)
  6. ifeq ($(TARGET),Win32)
  7. VPATH += hidapi/windows
  8. LDFLAGS += -static -mconsole -mwindows -lsetupapi -lws2_32
  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 -lws2_32
  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 += ../bootloaderhost/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)/scsi2sd-debug$(EXE)
  38. HIDAPI = \
  39. $(BUILD)/hid.o \
  40. OBJ = \
  41. $(HIDAPI) \
  42. $(BUILD)/scsi2sd-debug.o \
  43. $(BUILD)/SCSI2SD_HID.o \
  44. $(BUILD)/%.o: %.c
  45. mkdir -p $(dir $@)
  46. $(CC) $(CPPFLAGS) $(CFLAGS) $^ -c -o $@
  47. $(BUILD)/%.o: %.cc
  48. mkdir -p $(dir $@)
  49. $(CXX) $(CPPFLAGS) $(CXXFLAGS) $^ -c -o $@
  50. $(BUILD)/scsi2sd-debug$(EXE): $(OBJ)
  51. mkdir -p $(dir $@)
  52. $(CXX) $(CXXFLAGS) $^ $(LDFLAGS) -o $@
  53. clean:
  54. rm $(BUILD)/scsi2sd-debug$(EXE) $(OBJ)