Skip to content

Instantly share code, notes, and snippets.

@beechtom
Created August 10, 2019 00:34
Show Gist options
  • Save beechtom/b67355935ee6d08d998abe67481e208d to your computer and use it in GitHub Desktop.
Save beechtom/b67355935ee6d08d998abe67481e208d to your computer and use it in GitHub Desktop.
Makefile example
CC = g++
SRCEXT = cpp
CFLAGS = -c -std=c++11 -Wall
LFLAGS = -Wall
TARGET = eternity
SRCDIR = src
INCDIR = inc
OBJDIR = obj
SRCS = $(shell find $(SRCDIR) -type f -name *.$(SRCEXT))
OBJS = $(SRCS:$(SRCDIR)/%.$(SRCEXT)=$(OBJDIR)/%.o)
$(TARGET): $(OBJS)
@echo [LINKING] All files . . .
@$(CC) $(LFLAGS) $(OBJS) -o $@
@echo [SUCCESS] File Name: $(TARGET)
$(OBJDIR)/%.o: $(SRCDIR)/%.$(SRCEXT)
@mkdir -p $(OBJDIR)
@echo [BUILDING] $< . . .
@$(CC) $(CFLAGS) -I $(INCDIR) -o $@ $<
run:
@./$(TARGET)
clean:
rm -rf $(OBJDIR) $(TARGET)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment