# -------------------------------------------------- # 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)/*