37 lines
548 B
Makefile
37 lines
548 B
Makefile
NAME=main
|
|
|
|
SRCDIR=src
|
|
IDIR=include
|
|
ODIR=obj
|
|
BINDIR=build
|
|
|
|
CC=cc
|
|
CFLAGS=-I$(IDIR) -Wall -Wextra -pedantic
|
|
LIB=
|
|
|
|
_DEPS=lib.h
|
|
DEPS=$(patsubst %,$(IDIR)/%,$(_DEPS))
|
|
|
|
_OBJ=$(NAME).o lib.o
|
|
OBJ=$(patsubst %,$(ODIR)/%,$(_OBJ))
|
|
|
|
|
|
$(ODIR)/%.o: $(SRCDIR)/%.c $(DEPS)
|
|
$(CC) -c -o $@ $< $(CFLAGS) $(LIB)
|
|
|
|
$(NAME): $(OBJ)
|
|
$(CC) -o $(BINDIR)/$@ $^ $(CFLAGS) $(LIB)
|
|
|
|
.PHONY: prep
|
|
prep:
|
|
-@mkdir -p $(SRCDIR)
|
|
-@mkdir -p $(IDIR)
|
|
-@mkdir -p $(ODIR)
|
|
-@mkdir -p $(BINDIR)
|
|
@echo $(BINDIR)/ >> .gitignore
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
-rm -f $(ODIR)/*
|
|
-rm -f $(BINDIR)/*
|