pagerank implementation
This commit is contained in:
51
Makefile
Normal file
51
Makefile
Normal file
@ -0,0 +1,51 @@
|
||||
# --------------------------------------------------
|
||||
# Configuration
|
||||
# --------------------------------------------------
|
||||
CC := gcc
|
||||
CFLAGS := -Wall -fopenmp -O3
|
||||
SRCDIR := src
|
||||
OBJDIR := out
|
||||
DATAPATH := data/web-Google/web-Google.mtx
|
||||
|
||||
#
|
||||
SRCS := $(wildcard $(SRCDIR)/*.c)
|
||||
OBJS := $(patsubst $(SRCDIR)/%.c,$(OBJDIR)/%.o,$(SRCS))
|
||||
|
||||
# --------------------------------------------------
|
||||
# Phony targets
|
||||
# --------------------------------------------------
|
||||
.PHONY: all sparse clean
|
||||
|
||||
all: sparse
|
||||
|
||||
sparse: $(OBJDIR)/sparse | $(OBJDIR)
|
||||
@echo "→ Running sparse"
|
||||
./$(OBJDIR)/sparse
|
||||
|
||||
# --------------------------------------------------
|
||||
# Link
|
||||
# --------------------------------------------------
|
||||
$(OBJDIR)/sparse: $(OBJS) $(DATAPATH) | $(OBJDIR)
|
||||
@echo "→ Copying input data"
|
||||
cp $(DATAPATH) $(OBJDIR)/input.rb
|
||||
@echo "→ Linking $@"
|
||||
$(CC) $(CFLAGS) -o $@ $(OBJS)
|
||||
|
||||
# --------------------------------------------------
|
||||
# Compile
|
||||
# --------------------------------------------------
|
||||
$(OBJDIR)/%.o: $(SRCDIR)/%.c | $(OBJDIR)
|
||||
@echo "→ Compiling $<"
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
# --------------------------------------------------
|
||||
# Check if output directory exists
|
||||
# --------------------------------------------------
|
||||
$(OBJDIR):
|
||||
mkdir -p $(OBJDIR)
|
||||
|
||||
# --------------------------------------------------
|
||||
# Clean
|
||||
# --------------------------------------------------
|
||||
clean:
|
||||
rm -rf $(OBJDIR)/*
|
Reference in New Issue
Block a user