Makefile 935 B

12345678910111213141516171819202122232425262728293031323334
  1. WINDRES:=$(CROSS_PREFIX)windres
  2. DLLTOOL:=$(CROSS_PREFIX)dlltool
  3. AR:=$(CROSS_PREFIX)ar
  4. CC:=$(CROSS_PREFIX)gcc
  5. CCLD:=$(CC)
  6. SRCS:=$(wildcard src/*.c src/hde/*.c)
  7. OBJS:=$(SRCS:%.c=%.o)
  8. DEPS:=$(SRCS:%.c=%.d)
  9. INCS:=-Isrc -Iinclude
  10. CFLAGS:=-masm=intel -Wall -Werror -std=c11
  11. LDFLAGS:=-Wl,-enable-stdcall-fixup -s -static-libgcc
  12. all: MinHook.dll libMinHook.dll.a libMinHook.a
  13. -include $(DEPS)
  14. libMinHook.a: $(OBJS)
  15. $(AR) r $@ $^
  16. libMinHook.dll.a: MinHook.dll dll_resources/MinHook.def
  17. $(DLLTOOL) --dllname MinHook.dll --input-def dll_resources/MinHook.def --output-lib $@
  18. MinHook.dll: $(OBJS) dll_resources/MinHook.res dll_resources/MinHook.def
  19. $(CCLD) -o $@ -shared $(LDFLAGS) $^
  20. .rc.res:
  21. $(WINDRES) -o $@ --input-format=rc --output-format=coff $<
  22. .c.o:
  23. $(CC) -o $@ -c -MMD -MP $(INCS) $(CFLAGS) $<
  24. clean:
  25. rm -f $(OBJS) $(DEPS) MinHook.dll libMinHook.dll.a libMinHook.a dll_resources/MinHook.res
  26. .PHONY: clean
  27. .SUFFIXES: .rc .res