Skip to content
Snippets Groups Projects
Makefile 652 B
Newer Older
CC = gcc
CXX = g++
ECHO = echo
RM = rm -f

TERM = "S2019"

CFLAGS = -Wall -Werror -ggdb3 -lm -lncurses
CXXFLAGS = -Wall -Werror -ggdb -lm -lncurses

LDFLAGS = -lncurses

BIN = battleship
OBJS = battleship.o

all: $(BIN)

$(BIN): $(OBJS)
	@$(ECHO) Linking $@
	@$(CXX) $^ -o $@ $(LDFLAGS)

-include $(OBJS:.o=.d)

%.o: %.c
	@$(ECHO) Compiling $<
	@$(CC) $(CFLAGS) -MMD -MF $*.d -c $<
	
%.o: %.cpp
	@$(ECHO) Compiling $<
	@$(CXX) $(CXXFLAGS) -MMD -MF $*.d -c $<

.PHONY: all clean clobber

clean:
	@$(ECHO) Removing all generated files
	@$(RM) *.o $(BIN) *.d TAGS core vgcore.* gmon.out

clobber: clean
	@$(ECHO) Removing backup files
	@$(RM) *~ \#* *pgm