40 lines
951 B
Makefile
40 lines
951 B
Makefile
include Makefile.rules
|
|
|
|
CXXFLAGS = -std=c++11 -W -Wall -O3 -ffast-math -g $(CXXFLAGS_PLATFORM)
|
|
DEFINES = #-DSIMD
|
|
BUILD_DIR = .
|
|
SRC = rotation.cpp \
|
|
image.cpp \
|
|
pnm.cpp
|
|
HEADERS = image.h \
|
|
pnm.h
|
|
OBJS = $(patsubst %.cpp,%.o,$(SRC))
|
|
IMG = img/lena_1024.pgm
|
|
|
|
all: $(OBJS)
|
|
$(CXX) $(CXXFLAGS) $(LFLAGS) $(OBJS) -o $(BUILD_DIR)/rotation
|
|
|
|
%.o: %.cpp $(HEADERS)
|
|
$(CXX) $(CXXFLAGS) $(DEFINES) $< -c -o $@
|
|
|
|
clean:
|
|
@rm -f rotation *~ *.o .*.swp *.ppm *.pgm *.pnm cachegrind.out.* callgrind.out.*
|
|
|
|
run: all
|
|
@rm -f rotated_*.pnm
|
|
$(BUILD_DIR)/rotation $(IMG)
|
|
|
|
runall: all
|
|
$(BUILD_DIR)/rotation img/lena_512.pgm
|
|
$(BUILD_DIR)/rotation img/lena_1024.pgm
|
|
$(BUILD_DIR)/rotation img/lena_3000.pgm
|
|
|
|
debug: all
|
|
lldb $(BUILD_DIR)/rotation $(IMG)
|
|
|
|
cachegrind: all
|
|
valgrind --tool=cachegrind --dsymutil=yes $(BUILD_DIR)/rotation $(IMG)
|
|
|
|
callgrind: all
|
|
valgrind --tool=callgrind --dsymutil=yes $(BUILD_DIR)/rotation $(IMG)
|