34 lines
941 B
Makefile
34 lines
941 B
Makefile
CXXSRCS=main.cc Memory.cc Simulator.cc ReadPipe.cc WritePipe.cc Rasterizer.cc
|
|
CSRCS=
|
|
OBJS=$(addprefix obj/,$(CXXSRCS:.cc=.o)) $(addprefix obj/,$(CSRCS:.c=.o))
|
|
|
|
PKGCONFIGLIBS=sdl SDL_image
|
|
CXXOPTS=--std=gnu++11 -Wall -Wextra -pedantic -fstrict-enums -fstack-check -fnothrow-opt -ggdb -O2 `pkg-config --cflags $(PKGCONFIGLIBS)`
|
|
CCOPTS=--std=gnu11 -Wall -Wextra -pendantic -fstrict-enums -fstack-check -ggdb -O2 `pkg-config --cflags $(PKGCONFIGLIBS)`
|
|
LDOPTS=
|
|
LIBS=`pkg-config --libs $(PKGCONFIGLIBS)`
|
|
|
|
CC=gcc
|
|
CXX=g++
|
|
|
|
all: shader_sim
|
|
|
|
shader_sim: $(OBJS)
|
|
$(CXX) $(CXXOPTS) $(LDOPTS) -o $@ $(OBJS) $(LIBS)
|
|
|
|
obj/%.o: src/%.cc
|
|
$(CXX) $(CXXOPTS) -MMD -MP -c -o $@ $<
|
|
@cp obj/$*.d deps/$*.P; rm -f obj/$*.d
|
|
|
|
obj/%.o: src/%.c
|
|
$(CC) $(CCOPTS) -MMD -MP -c -o $@ $<
|
|
@cp obj/$*.d deps/$*.P; rm -f obj/$*.d
|
|
|
|
clean:
|
|
rm -f shader_sim obj/*.o
|
|
|
|
.PSEUDO=all clean
|
|
|
|
-include $(addprefix deps/,$(CXXSRCS:.cc=.P))
|
|
-include $(addprefix deps/,$(CSRCS:.c=.P))
|