Last active
April 12, 2016 16:27
-
-
Save skgsergio/3592136d4e64a5304b89 to your computer and use it in GitHub Desktop.
Makefile para G3D
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Compilador, puede cambiarse con make CC=clang CXX=clang | |
CC ?= gcc | |
CXX ?= g++ | |
# Flags normales | |
CCFLAGS = -march=native -O2 -fomit-frame-pointer -pipe | |
CXXFLAGS = $(CCFLAGS) | |
LDFLAGS = -Wl,-O1 -Wl,--as-needed | |
# Flags para debug | |
CCFLAGSDBG = -g -Wall -Wextra -pedantic | |
CXXFLAGSDBG = $(CCFLAGSDBG) | |
LDFLAGSDBG = | |
# Bibliotecas usadas | |
LDLIBS = -lGL -lglut -lGLU -lm | |
# Cada .cpp es auto-contenido y da pie a un binario (lo pide la asignatura) | |
CXXFILES := $(wildcard *.cpp) | |
BINFILES := $(CXXFILES:.cpp=.bin) | |
# Compilación normal | |
all: $(BINFILES) | |
strip $(BINFILES) | |
# Compilación para debug | |
debug: CCFLAGS = $(CCFLAGSDBG) | |
debug: CXXFLAGS = $(CXXFLAGSDBG) | |
debug: LDFLAGS = $(LDFLAGSDBG) | |
debug: $(BINFILES) | |
# Compilación de cada binario | |
%.bin: %.cpp | |
$(CXX) $(CXXFLAGS) -o $@ $< $(LDFLAGS) $(LDLIBS) | |
# Borrado de binarios | |
clean: | |
rm -f *.bin | |
# Creación del zip | |
zip: clean-zip clean debug | |
for t in $(CXXFILES:.cpp=) ; do \ | |
zip $${t}.zip $${t}.cpp $${t}.bin; \ | |
done | |
# Borrado del zip | |
clean-zip: | |
rm -f *.zip | |
# Comprobación de código en emacs (flymake) | |
check-syntax: | |
$(CXX) -o /dev/null -S ${CHK_SOURCES} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment