Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- WinGPP = g++
- LinGPP = g++
- BinDIR = bin
- ObjDIR = obj
- SrcDIR = src
- BitFLG = -m32
- WinOUT = OpenGL$(subst -m,,$(BitFLG)).dll
- LinOUT = OpenGL$(subst -m,,$(BitFLG)).so
- WinDIR = $(BinDIR)
- LinDIR = $(BinDIR)
- ObjWinSRC = $(ObjDIR)/Win$(subst -m,,$(BitFLG))
- ObjLinSRC = $(ObjDIR)/Lin$(subst -m,,$(BitFLG))
- #--------------------------------------------------------------------------------------
- WinDEP = -static -static-libgcc -static-libstdc++ -shared -s -Wl,--enable-stdcall-fixup -o
- LinDEP = -static-libgcc -static-libstdc++ -shared -s -o
- WinARGS = -std=c++11 -Wall -pedantic -O3 -DOPENGL32_EXPORTS -s -c $(BitFLG)
- LinARGS = -std=c++11 -Wall -pedantic -O3 -DOPENGL32_EXPORTS -s -c $(BitFLG)
- #--------------------------------------------------------------------------------------
- CppFiles =
- $(wildcard $(SrcDIR)/*.cpp)
- ObjLinFiles =
- $(patsubst $(SrcDIR)/%.cpp,$(ObjLinSRC)/%.o,$(CppFiles))
- ObjWinFiles =
- $(patsubst $(SrcDIR)/%.cpp,$(ObjWinSRC)/%.o,$(CppFiles))
- #--------------------------------------------------------------------------------------
- all:
- @echo
- @echo " Instructions For Making GLX:"
- @echo
- @echo " For Windows: make windows"
- @echo " For Linux: make linux"
- @echo " For Both: make both"
- @echo " To Clean Files: make clean"
- @echo " Specific Builds: BitFLG=-m32 | BitFLG=-m64"
- both: linux windows
- linux: $(LinDIR)/$(LinOUT)
- @echo
- @echo "Finished Building OpenGL32 -- Colour-Only."
- windows: $(WinDIR)/$(WinOUT)
- @echo
- @echo "Finished Building OpenGL32 -- Colour-Only."
- clean:
- @echo " Cleaning Build Files."
- @rm -rf $(BinDIR) $(ObjDIR)
- #--------------------------------------------------------------------------------------
- $(LinDIR)/$(LinOUT): $(ObjLinFiles)
- @echo
- @echo "Linking Linux Object Files.."
- @mkdir -p $(LinDIR)
- @$(LinGPP) -fPIC -shared $(LinDEP) $(LinDIR)/$(LinOUT) $(ObjLinFiles) $(BitFLG)
- $(ObjLinSRC)/$.o: $(SrcDIR)/%.cpp
- @echo " Compiling Linux: "$<
- @mkdir -p $(ObjLinSRC)
- @$(LinGPP) $(LinARGS) -o $@ $<
- $(WinDIR)/$(WinOUT): $(ObjWinFiles)
- @echo
- @echo "Linking Object Files.."
- @mkdir -p $(WinDIR)
- @$(WinGPP) -Wl,--kill-at -d --input-def $(SrcDIR)/OpenGL32.def $(WinDEP) $(WinDIR)/$(WinOUT) $(ObjWinFiles) $(BitFLG) -lgdi32 -lglu32 -lopengl32
- $(ObjWinSRC)/%.o: $(SrcDIR)/%.cpp
- @echo " Compiling: " $<
- @mkdir -p $(ObjWinSRC)
- @$(WinGPP) $(WinARGS) -o $@ $<
- $(ObjLinSRC)/$.o: $(SrcDIR)/%.cpp
- $(ObjLinSRC)/%.o: $(SrcDIR)/%.cpp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement