Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- COMPILER=G++
- # todo: object files into output path, processing c / c++ files in the same time (?), nested directories for source files (?)
- C = cpp
- OUTPUT_PATH = out/production/cppOpenGL/
- SOURCE_PATH = src/
- EXE = $(OUTPUT_PATH)cppOpenGL
- ifeq ($(COMPILER), G++)
- ifeq ($(OS),Windows_NT)
- OBJ = obj
- else
- OBJ = o
- endif
- COPT = -O2
- CCMD = g++
- OBJFLAG = -o
- EXEFLAG = -o
- # INCLUDES = -I../.includes
- INCLUDES =
- # LIBS = -lgc
- LIBS = -lglut -lGL -lGLU -lGLEW -lm
- LIBPATH = -L../gc/.libs
- #LIBPATH = -L/lib -L/usr/lib
- CPPFLAGS = $(COPT) -g $(INCLUDES)
- LDFLAGS = $(LIBPATH) -g $(LIBS)
- DEP = dep
- else
- OBJ = obj
- COPT = /O2
- CCMD = cl
- OBJFLAG = /Fo
- EXEFLAG = /Fe
- # INCLUDES = /I..\\.includes
- INCLUDES =
- # LIBS = ..\\.libs\\libgc.lib
- LIBS = -lglut -lGL -lGLU -lGLEW -lm
- CPPFLAGS = $(COPT) /DEBUG $(INCLUDES)
- LDFLAGS = /DEBUG
- endif
- OBJS := $(patsubst %.$(C),%.$(OBJ),$(wildcard $(SOURCE_PATH)*.$(C)))
- %.$(OBJ):%.$(C)
- @echo Compiling $(basename $<)...
- $(CCMD) -c $(CPPFLAGS) $(CXXFLAGS) $< $(OBJFLAG)$@
- all: $(OBJS)
- @echo Linking...
- $(CCMD) $(LDFLAGS) $^ $(LIBS) $(EXEFLAG) $(EXE)
- clean:
- rm -rf $(SOURCE_PATH)*.$(OBJ) $(EXE)
- rebuild: clean all
- #rebuild is not entirely correct
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement