Advertisement
Guest User

Untitled

a guest
Apr 17th, 2014
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. WinGPP = g++
  2. LinGPP = g++
  3.  
  4. BinDIR = bin
  5. ObjDIR = obj
  6. SrcDIR = src
  7. BitFLG = -m32
  8. WinOUT = OpenGL$(subst -m,,$(BitFLG)).dll
  9. LinOUT = OpenGL$(subst -m,,$(BitFLG)).so
  10. WinDIR = $(BinDIR)
  11. LinDIR = $(BinDIR)
  12. ObjWinSRC = $(ObjDIR)/Win$(subst -m,,$(BitFLG))
  13. ObjLinSRC = $(ObjDIR)/Lin$(subst -m,,$(BitFLG))
  14.  
  15. #--------------------------------------------------------------------------------------
  16.  
  17. WinDEP = -static -static-libgcc -static-libstdc++ -shared -s -Wl,--enable-stdcall-fixup -o
  18. LinDEP = -static-libgcc -static-libstdc++ -shared -s -o
  19.  
  20. WinARGS = -std=c++11 -Wall -pedantic -O3 -DOPENGL32_EXPORTS -s -c $(BitFLG)
  21. LinARGS = -std=c++11 -Wall -pedantic -O3 -DOPENGL32_EXPORTS -s -c $(BitFLG)
  22.  
  23.  
  24. #--------------------------------------------------------------------------------------
  25.  
  26. CppFiles =
  27. $(wildcard $(SrcDIR)/*.cpp)
  28.  
  29. ObjLinFiles =
  30. $(patsubst $(SrcDIR)/%.cpp,$(ObjLinSRC)/%.o,$(CppFiles))
  31.  
  32. ObjWinFiles =
  33. $(patsubst $(SrcDIR)/%.cpp,$(ObjWinSRC)/%.o,$(CppFiles))
  34.  
  35.  
  36.  
  37. #--------------------------------------------------------------------------------------
  38.  
  39. all:
  40. @echo
  41. @echo " Instructions For Making GLX:"
  42. @echo
  43. @echo " For Windows: make windows"
  44. @echo " For Linux: make linux"
  45. @echo " For Both: make both"
  46. @echo " To Clean Files: make clean"
  47. @echo " Specific Builds: BitFLG=-m32 | BitFLG=-m64"
  48.  
  49. both: linux windows
  50.  
  51. linux: $(LinDIR)/$(LinOUT)
  52. @echo
  53. @echo "Finished Building OpenGL32 -- Colour-Only."
  54.  
  55. windows: $(WinDIR)/$(WinOUT)
  56. @echo
  57. @echo "Finished Building OpenGL32 -- Colour-Only."
  58.  
  59. clean:
  60. @echo " Cleaning Build Files."
  61. @rm -rf $(BinDIR) $(ObjDIR)
  62.  
  63. #--------------------------------------------------------------------------------------
  64.  
  65.  
  66.  
  67. $(LinDIR)/$(LinOUT): $(ObjLinFiles)
  68. @echo
  69. @echo "Linking Linux Object Files.."
  70. @mkdir -p $(LinDIR)
  71. @$(LinGPP) -fPIC -shared $(LinDEP) $(LinDIR)/$(LinOUT) $(ObjLinFiles) $(BitFLG)
  72.  
  73. $(ObjLinSRC)/$.o: $(SrcDIR)/%.cpp
  74. @echo " Compiling Linux: "$<
  75. @mkdir -p $(ObjLinSRC)
  76. @$(LinGPP) $(LinARGS) -o $@ $<
  77.  
  78.  
  79.  
  80.  
  81.  
  82. $(WinDIR)/$(WinOUT): $(ObjWinFiles)
  83. @echo
  84. @echo "Linking Object Files.."
  85. @mkdir -p $(WinDIR)
  86. @$(WinGPP) -Wl,--kill-at -d --input-def $(SrcDIR)/OpenGL32.def $(WinDEP) $(WinDIR)/$(WinOUT) $(ObjWinFiles) $(BitFLG) -lgdi32 -lglu32 -lopengl32
  87.  
  88. $(ObjWinSRC)/%.o: $(SrcDIR)/%.cpp
  89. @echo " Compiling: " $<
  90. @mkdir -p $(ObjWinSRC)
  91. @$(WinGPP) $(WinARGS) -o $@ $<
  92.  
  93. $(ObjLinSRC)/$.o: $(SrcDIR)/%.cpp
  94.  
  95. $(ObjLinSRC)/%.o: $(SrcDIR)/%.cpp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement