53 lines
1.4 KiB
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)
|