Skip to content
Snippets Groups Projects
Commit d399e840 authored by Maximillian Lukman's avatar Maximillian Lukman
Browse files
parents b9db2c15 42b812c4
Branches
No related merge requests found
out/
\ No newline at end of file
build/
\ No newline at end of file
CC=mpicc
CFLAGS=--openmp
OUT_DIR=./out
OUT_DIR=build
TARGET_EXEC=parallel
.PHONY: serial clean run-serial
MODULE_DIR=src/modules
MODULE_HEADERS_DIR=$(MODULE_DIR)/headers
MODULE_IMPL_DIR=$(MODULE_DIR)/impl
MODULE_SRCS=$(wildcard $(MODULE_IMPL_DIR)/*.c)
MODULE_OBJS=$(MODULE_SRCS:$(MODULE_IMPL_DIR)/%.c=$(OUT_DIR)/%.o)
DRIVER_SRC=src/main.c
INC_FLAGS:=-I $(MODULE_HEADERS_DIR)
CFLAGS=$(INC_FLAGS) --openmp -Wall -Wshadow
.DELETE_ON_ERROR:
.PHONY: serial clean run-serial parallel run
default: run
serial: ./src/serial.c
mkdir -p $(OUT_DIR)
$(CC) $(CFLAGS) -o $(OUT_DIR)/$@ $^
run-serial: serial
mkdir -p $(OUT_DIR)
$(OUT_DIR)/$^
$(OUT_DIR)/%.o: $(MODULE_IMPL_DIR)/%.c
mkdir -p $(dir $@)
$(CC) $(CFLAGS) -c -o $@ $<
$(OUT_DIR)/$(TARGET_EXEC).o: $(DRIVER_SRC)
mkdir -p $(dir $@)
$(CC) $(CFLAGS) -c -o $@ $<
$(OUT_DIR)/$(TARGET_EXEC): $(OUT_DIR)/$(TARGET_EXEC).o $(MODULE_OBJS)
mkdir -p $(dir $@)
$(CC) $(CFLAGS) -o $@ $^
parallel: $(OUT_DIR)/$(TARGET_EXEC)
run: parallel
$(OUT_DIR)/$(TARGET_EXEC)
clean:
rm -rf $(OUT_DIR)/*
\ No newline at end of file
rm -rf $(OUT_DIR)/*
help:
@echo `make help`: this help message
@echo `make`: compile and run parallel program
@echo `make run`: compile and run parallel program
@echo `make parallel`: compile parallel program
@echo `make serial`: compile serial program
@echo `make serial-run`: compile and run program
@echo `make clean`: delete all files from `out` directory
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment