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
|
#!/usr/bin/make -f
|
||||||
FLAGS = -O3 -pedantic -Wall -Wextra -Werror -lncursesw
|
FLAGS = -O3
|
||||||
|
FLAGS += -pedantic
|
||||||
|
FLAGS += -Wall
|
||||||
|
FLAGS += -Wextra
|
||||||
|
FLAGS += -Werror
|
||||||
|
|
||||||
AnnaConnect: connect4.c
|
OBJDIR = obj
|
||||||
cc $(FLAGS) -o connect4 ui_ncurses.c logic.c connect4.c
|
OUTDIR = out
|
||||||
|
|
||||||
run: AnnaConnect
|
OBJ = $(SRC:%.c=$(OBJDIR)/%.o)
|
||||||
./connect4
|
|
||||||
|
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:
|
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