Newer
Older
GCC = gcc
INCDIR = $(TOP)/inc
OBJDIR = obj
EXEDIR = $(TOP)/bin
LIBDIR = $(TOP)/lib
SOURCES = $(wildcard *.c)
HEADERS = $(wildcard *.h)
INCLUDES = $(addprefix $(INCDIR)/, $(HEADERS))
OBJECTS = $(patsubst %.c, $(OBJDIR)/%.o, $(SOURCES))
TARGET = $(EXEDIR)/$(NAME)
CLEANUP = $(TARGET) $(OBJDIR) $(NAME)
.PHONY: default run clean
################
## User Targets
################
default: $(TARGET)
clean:
####################
## Internal Targets
####################
$(TARGET): $(OBJECTS) | $(EXEDIR)
$(GCC) -g -o $(TARGET) $^ -I$(INCDIR) -L$(LIBDIR) $(REQLIBS)
cp $(TARGET) $(NAME)
$(OBJDIR)/%.o : %.c | $(OBJDIR) $(INCDIR)