Improved makefile
This commit is contained in:
parent
5379f50802
commit
a2142a48b5
2 changed files with 51 additions and 6 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
obj/
|
||||
out/
|
||||
55
makefile
55
makefile
|
|
@ -1,11 +1,54 @@
|
|||
#!/usr/bin/make -f
|
||||
FLAGS = -O3 -pedantic -Wall -Wextra -Werror -lncursesw
|
||||
FLAGS = -O3
|
||||
FLAGS += -pedantic
|
||||
FLAGS += -Wall
|
||||
FLAGS += -Wextra
|
||||
FLAGS += -Werror
|
||||
|
||||
AnnaConnect: connect4.c
|
||||
cc $(FLAGS) -o connect4 ui_ncurses.c logic.c connect4.c
|
||||
OBJDIR = obj
|
||||
OUTDIR = out
|
||||
|
||||
run: AnnaConnect
|
||||
./connect4
|
||||
OBJ = $(SRC:%.c=$(OBJDIR)/%.o)
|
||||
|
||||
UI_TARGET = ncurses
|
||||
|
||||
CC = cc
|
||||
|
||||
MSG_LINKING = Linking:
|
||||
MSG_COMPILING = Compiling C:
|
||||
MSG_CLEANING = Cleaning:
|
||||
MSG_CLEANING_OBJ = Cleaning $(OBJDIR):
|
||||
MSG_CLEANING_OUT = Cleaning $(OUTDIR):
|
||||
|
||||
all: $(OUTDIR)/connect4_$(UI_TARGET).elf
|
||||
|
||||
clean_run: clean run
|
||||
|
||||
run: $(OUTDIR)/connect4_$(UI_TARGET).elf
|
||||
./$<
|
||||
|
||||
$(OUTDIR)/connect4_ncurses.elf: $(OBJDIR)/ui_ncurses.o $(OBJDIR)/logic.o $(OBJDIR)/connect4.o
|
||||
@echo
|
||||
@echo $(MSG_LINKING) $@
|
||||
mkdir -p $(@D)
|
||||
$(CC) $(FLAGS) -lncursesw -o $@ $^
|
||||
|
||||
$(OUTDIR)/connect4_%.elf: $(OBJDIR)/ui_%.o $(OBJDIR)/logic.o $(OBJDIR)/connect4.o
|
||||
@echo
|
||||
@echo $(MSG_LINKING) $@
|
||||
mkdir -p $(@D)
|
||||
$(CC) $(FLAGS) -o $@ $^
|
||||
|
||||
$(OBJDIR)/%.o: %.c
|
||||
@echo
|
||||
@echo $(MSG_COMPILING) $^
|
||||
mkdir -p $(@D)
|
||||
$(CC) -c $(FLAGS) -o $@ $^
|
||||
|
||||
clean:
|
||||
rm connect4
|
||||
@echo
|
||||
@echo $(MSG_CLEANING)
|
||||
@echo $(MSG_CLEANING_OBJ)
|
||||
rm $(OBJDIR)/*.o
|
||||
@echo $(MSG_CLEANING_OUT)
|
||||
rm $(OUTDIR)/*.elf
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue