Makefile 629 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. UNAME := $(shell uname)
  2. ifeq ($(UNAME), Linux)
  3. ifndef PLATFORM
  4. PLATFORM = i686
  5. endif
  6. CC = $(PLATFORM)-w64-mingw32-g++
  7. CXX = $(PLATFORM)-w64-mingw32-g++
  8. LINK = $(PLATFORM)-w64-mingw32-g++
  9. RC = $(PLATFORM)-w64-mingw32-windres
  10. else
  11. CC = g++
  12. CXX = g++
  13. LINK = ld
  14. RC = rc
  15. endif
  16. RM = rm
  17. CFLAGS = -Wall -g -DSAMPLEDLL_EXPORTS
  18. LDFLAGS = -shared
  19. RCFLAGS = -O coff
  20. ifdef UNICODE
  21. CFLAGS += -DUNICODE -D_UNICODE
  22. endif
  23. OBJ = SampleDLL.o SampleDLL.res
  24. SampleDLL.dll: $(OBJ)
  25. $(LINK) $(LDFLAGS) -o SampleDLL.dll $(OBJ)
  26. %.o: %.cpp
  27. $(CXX) $(CFLAGS) -c $<
  28. %.res: %.rc
  29. $(RC) $(RCFLAGS) -o $*.res $<
  30. clean:
  31. $(RM) -rf $(OBJ) SampleDLL.dll