piscine-rush01/ex00/Makefile

53 lines
1.4 KiB
Makefile

# Makefile for rush01
include config.mk
NAME?=rush-01
SRC=gen_util.c handle_input.c handle_mem.c main.c backtrack.c
HEADERS=gen_util.h handle_input.h handle_mem.h backtrack.h
_OBJ=$(SRC:.c=.o)
DEPS=$(patsubst %,$(INCDIR)/%,$(HEADERS))
OBJ=$(patsubst %,$(OBJDIR)/%,$(_OBJ))
.PHONY: clean install uninstall fclean all re test
all: $(BUILDDIR)/$(NAME)
$(BUILDDIR)/$(NAME): $(OBJ)
$(CC) $(LDFLAGS) -o $@ $^
$(OBJDIR)/%.o: %.c $(DEPS)
# norminette $<
$(CC) $(CFLAGS) -o $@ -c $<
clean:
$(RM) $(OBJ)
$(RM) $(INCDIR)/*~
$(RM) *~
fclean: clean
$(RM) $(BUILDDIR)/*
install: all
$(MKDIR) $(DESTDIR)$(PREFIX)/bin
$(CP) $(BUILDDIR)/$(NAME) $(DESTDIR)$(PREFIX)/bin
$(CHMOD) 755 $(DESTDIR)$(PREFIX)/bin/$(NAME)
uninstall:
$(RM) $(DESTDIR)$(PREFIX)/bin/$(NAME)
re: fclean all
SUCCESS=printf '\n\033[32m%s\033[m\n\n' "Success"
FAIL=printf '\n\033[31m%s\033[m\n\n' "Fail"
test: re
$(BUILDDIR)/$(NAME) && $(FAIL) || $(SUCCESS)
$(BUILDDIR)/$(NAME) "4 3 2 1 1 2 2 2 4 3 2 1 1 2 2 2 " && $(FAIL) || $(SUCCESS)
$(BUILDDIR)/$(NAME) "4 3 2 1 1 2 2 2 4 3 2 1 1 2 2 6" && $(FAIL) || $(SUCCESS)
$(BUILDDIR)/$(NAME) "4 3 2 1 1 2 2 2 4 3 2 1 1 2 2 a" && $(FAIL) || $(SUCCESS)
$(BUILDDIR)/$(NAME) "4 3 2 1 1 2 2 2 4 3 2 1 1 2 2 2" whatever && $(FAIL) || $(SUCCESS)
$(BUILDDIR)/$(NAME) "4 3 2 1 1 2 2 2 4 3 2 1 1 2 2 2" && $(SUCCESS) || $(FAIL)