52 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| # --------------------------------------------------
 | |
| # 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)/*
 |