Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 1.76 KB | None | 0 0
  1. CC=gcc.exe
  2.  
  3. all:.all
  4. distclean: clean
  5.  
  6. ### SETTINGS ###
  7.  
  8. #DEBUG=yes
  9.  
  10. ifeq ($(64BIT),yes)
  11.   FFDSHOW_PREFIX=x86_64-w64-mingw32-
  12.   TARGET_OS=x86_64-w64-mingw32
  13.   CFLAGS+=-DWIN64 -D_WIN64 -D__MINGW64__
  14.   OPTFLAGS+=-O2 -m64
  15.   YASMFLAGS+=-f win64 -m amd64 -DWIN64 -DARCH_X86_64
  16. else
  17.   TARGET_OS=i686-w32-mingw32
  18.   CFLAGS+=-DWIN32 -D_WIN32 -D__MINGW32__
  19.   OPTFLAGS+=-O2 -march=i686 -mmmx
  20.   YASMFLAGS+=-f win32 -m x86 -DWIN32 -DARCH_X86_32 -DPREFIX
  21. endif
  22.  
  23. CFLAGS+=-mdll -mthreads -pipe
  24. OPTFLAGS+=-fno-common -fno-tree-vectorize
  25. CPPFLAGS+=-fno-rtti
  26. OUTPUTFLAG=-MMD -o\
  27.  
  28. ifeq ($(DEBUG),yes)
  29.   CFLAGS+=-DDEBUG -D_DEBUG -g
  30.   YASMFLAGS+=-g cv8
  31. else
  32.   CFLAGS+=-DNDEBUG -UDEBUG
  33.   OPTFLAGS+=-fomit-frame-pointer
  34.   LDFLAGS+=-s
  35. endif
  36.  
  37. ifeq ($(EXCEPTIONS),1)
  38.   CPPFLAGS+=-fexceptions
  39. else
  40.   CPPFLAGS+=-fno-exceptions
  41. endif
  42.  
  43. ifeq ($(findstring /,$(SHELL)),/)
  44.   POSIX_COMPATIBLE_SHELL=yes
  45. endif
  46.  
  47.  
  48. ### COMMANDS ###
  49.  
  50. OBJS+=$(SRCS:%.cpp=$(OBJ_DIR)%.o) $(SRCS_C:%.c=$(OBJ_DIR)%.o) $(SRCS_YASM:%.asm=$(OBJ_DIR)%.o) $(RESSRC:%.rc=$(OBJ_DIR)%.res.o)
  51.  
  52. $(OBJ_DIR)%.o: %.c
  53.     @echo $<
  54.     @$(FFDSHOW_PREFIX)$(CC) -c $(CFLAGS) $(OPTFLAGS) $(OUTPUTFLAG)$@ $<
  55.  
  56. $(OBJ_DIR)%.o: %.cpp
  57.     @echo $<
  58.     @$(FFDSHOW_PREFIX)$(CC) -c $(CFLAGS) $(CPPFLAGS) $(OPTFLAGS) $(OUTPUTFLAG)$@ $<
  59.  
  60. $(OBJ_DIR)%.o: %.asm
  61.     @echo $<
  62.     @yasm $(YASMFLAGS) -I$(<D)/ -o $@ $<
  63.  
  64. $(TARGET_LIB): $(OBJS) $(DEF)
  65.     @echo $@
  66.     @$(FFDSHOW_PREFIX)dllwrap --target=$(TARGET_OS) \
  67.                     -Wl,--enable-stdcall-fixup $(LDFLAGS) \
  68.                     --def $(DEF) $(GCCDLLENTRY) -o $@ $(OBJS) $(GCCLIBS)
  69.  
  70. $(TARGET_EXE): $(OBJS)
  71.     @echo $@
  72.     @$(FFDSHOW_PREFIX)$(CC) --target=$(TARGET_OS) \
  73.                     -Wl,--enable-stdcall-fixup -o $@ $(OBJS) $(GCCLIBS)
  74.     @$(FFDSHOW_PREFIX)strip $@
  75.  
  76. -include $(SRCS:%.cpp=$(OBJ_DIR)%.d) $(SRCS_C:%.c=$(OBJ_DIR)%.d)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement