colorwrap/Makefile

61 lines
1.6 KiB
Makefile

CC := gcc
SRCDIR := src
BUILDDIR := build
BINDIR := bin
TESTDIR := tests
TARGET := bin/cterm
TESTBIN := bin/testsuite
SRCEXT := c
SOURCES := $(shell find $(SRCDIR) -type f -name *.$(SRCEXT))
OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.o))
CFLAGS := -lreadline
LIB := -L lib -lutil -lreadline
INC := -I include
$(TARGET): $(OBJECTS)
@echo " Incrementing Build #"; make/genbuildno.sh
@echo " Build number: $(shell grep BUILD include/config.h | cut -d' ' -f 3)"
@echo " Linking..."
@echo " $(CC) $^ -o $(TARGET) $(LIB)"; $(CC) $^ -o $(TARGET) $(LIB) -O3
@echo " Done!"
$(BUILDDIR)/%.o: $(SRCDIR)/%.$(SRCEXT)
@echo " Building..."
@mkdir -p $(BUILDDIR)
@echo " $(CC) $(CFLAGS) $(INC) -c -o $@ $<"; $(CC) $(CFLAGS) $(INC) -c -o $@ $< -save-temps -O3
#debug: clean
debug: CFLAGS += -ggdb -O0 -Wall -Wextra -pedantic -Wno-unused-variable -Wno-unused-parameter
debug: CFLAGS += -D"DEBUG=1" -DGITBRANCH=\"$(shell git branch --show-current)\"
debug: $(TARGET)
run:
$(TARGET) /bin/sh
$(TESTBIN): $(TESTDIR)/tests.c
@echo " Building Testsuite..."; $(CC) $(CFLAGS) -O0 $(INC) -I$(SRCDIR) $(TESTDIR)/tests.c -o $(TESTBIN)
@echo " Running Tests..."
bin/testsuite
test: $(TESTBIN)
trace:
cat /dev/null > $(TESTDIR)/trace.lp;
strace -o $(TESTDIR)/trace.lp $(TARGET) /bin/sh
tracef:
cat /dev/null > $(TESTDIR)/trace.lp;
strace -fo $(TESTDIR)/trace.lp $(TARGET) /bin/sh
clean:
@echo " Cleaning...";
@echo " cat /dev/null > $(TESTDIR)/trace.lp"; cat /dev/null > $(TESTDIR)/trace.lp;
@echo " $(RM) -r $(BUILDDIR)/* $(BINDIR)/*"; $(RM) -r $(BUILDDIR)/* $(BINDIR)/*;
.PHONY: clean