diff options
| author | JP Appel <jeanpierre.appel01@gmail.com> | 2024-04-26 01:04:45 -0400 |
|---|---|---|
| committer | JP Appel <jeanpierre.appel01@gmail.com> | 2024-04-26 01:04:45 -0400 |
| commit | e15b1d940f49be47d78af195bb450ee9ba1ffc8a (patch) | |
| tree | 0eb535f91413400189c2534772a81d849020913d /makefile | |
| parent | afd91ba9acf59f349196c456cd3b3ca8bcab1f3b (diff) | |
add cuda-fractals compilation target
Diffstat (limited to 'makefile')
| -rw-r--r-- | makefile | 24 |
1 files changed, 17 insertions, 7 deletions
@@ -1,13 +1,17 @@ CC := gcc -CPPFLAGS := -DEXTENDED_PRECISION -CFLAGS := -Wall +CPPFLAGS := #-DEXTENDED_PRECISION +CFLAGS := -Wall -O3 -march=native LDFLAGS := -lm +NVCC := nvcc +NVCFLAGS := -arch=sm_86 -O3 --compiler-options -march=native +NVLDFLAGS := $(LDFLAGS) + SRC_DIR := src BUILD_DIR := build OBJ_DIR := $(BUILD_DIR)/objects -TARGET := fractal-render serial-fractals shared-fractals +TARGET := fractal-render serial-fractals shared-fractals cuda-fractals SRCS := $(wildcard $(SRC_DIR)/*.c) OBJS := $(patsubst $(SRC_DIR)/%.c, $(OBJ_DIR)/%.o, $(SRCS)) @@ -20,18 +24,24 @@ all: $(addprefix $(BUILD_DIR)/, $(TARGET)) # Programs # ############## -$(BUILD_DIR)/fractal-render: $(OBJ_DIR)/fractal_render.o $(OBJ_DIR)/grids.o +$(BUILD_DIR)/fractal-render: $(OBJ_DIR)/grids.o $(OBJ_DIR)/fractal_render.o $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) -$(BUILD_DIR)/serial-fractals: $(OBJ_DIR)/fractals.o $(OBJ_DIR)/serial-fractals.o $(OBJ_DIR)/grids.o +$(BUILD_DIR)/serial-fractals: $(OBJ_DIR)/serial-fractals.o $(OBJ_DIR)/grids.o $(OBJ_DIR)/fractals.o $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) -$(BUILD_DIR)/shared-fractals: $(OBJ_DIR)/fractals.o $(OBJ_DIR)/shared-fractals.o $(OBJ_DIR)/grids.o +$(BUILD_DIR)/shared-fractals: $(OBJ_DIR)/shared-fractals.o $(OBJ_DIR)/grids.o $(OBJ_DIR)/fractals.o $(CC) $(CFLAGS) -fopenmp $^ -o $@ $(LDFLAGS) -$(OBJ_DIR)/shared-fractals.o: $(SRC_DIR)/shared-fractals.c +$(BUILD_DIR)/cuda-fractals: $(OBJ_DIR)/cuda-fractals.o $(OBJ_DIR)/grids.o $(OBJ_DIR)/fractals.o + $(NVCC) $(NVCFLAGS) $^ -o $@ $(NVLDFLAGS) + +$(OBJ_DIR)/shared-fractals.o: $(SRC_DIR)/shared-fractals.c | $(OBJ_DIR) $(CC) $(CPPFLAGS) $(CFLAGS) -fopenmp -c -o $@ $< +$(OBJ_DIR)/cuda-fractals.o: $(SRC_DIR)/cuda-fractals.cu | $(OBJ_DIR) + $(NVCC) $(CPPFLAGS) $(NVCFLAGS) -c -o $@ $< + $(OBJ_DIR)/%.o: $(SRC_DIR)/%.c | $(OBJ_DIR) $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< |
