shtools/zcsf/Makefile_cpp
Mateo FERON 0950379829 Init
2020-04-06 16:01:00 +02:00

40 lines
799 B
Text

IDIR=include
SRCDIR=src
ODIR=obj
BINDIR=.
NAME = hello
LDFLAGS =
CC=g++
CXXFLAGS= -I$(IDIR) -Wall -pedantic -std=c++17 -O2
ifeq ($(DEBUG),true)
CXXFLAGS += -g
endif
$(shell mkdir -p $(ODIR))
$(shell mkdir -p $(BINDIR))
# automatically finds .h and .hpp
DEPS = $(shell find $(IDIR) -type f -regex '.*\.hp?p?')
# automatically finds .c and .cpp and makes the corresponding .o rule
OBJ = $(shell find $(SRCDIR) -type f -regex '.*\.cp?p?' | sed 's|\.cp?p?$|.o|g;s|$(SRCDIR)/|$(ODIR)/|g')
$(ODIR)/%.o: $(SRCDIR)/%.c $(DEPS)
$(CC) $(CXXFLAGS) -c -o $@ $<
$(ODIR)/%.o: $(SRCDIR)/%.cpp $(DEPS)
$(CC) $(CXXFLAGS) -c -o $@ $<
$(BINDIR)/$(NAME): $(OBJ) $(DEPS)
$(CC) $(CXXFLAGS) -o $@ $^ $(LDFLAGS)
test: $(BINDIR)/$(NAME)
$(BINDIR)/$(NAME)
clean:
rm $(ODIR)/*.o
clear:
rm $(BINDIR)/$(NAME)