Files

44 lines
1.2 KiB
Makefile
Raw Permalink Normal View History

2018-04-02 13:30:45 +02:00
TARGET = mgos_i2c
CC = gcc
# CFLAGS = -g -O -Wall -Wextra -std=c89 -pedantic -Wmissing-prototypes -Wstrict-prototypes -Wold-style-definition
CFLAGS = -g -O2 -Werror -Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wold-style-definition
2018-04-02 13:30:45 +02:00
LINKER = gcc
LFLAGS = -O -Wall -I. -lm
.PHONY: default all clean
2019-01-03 20:50:24 +01:00
default: autogen $(TARGET)
2018-04-02 13:30:45 +02:00
all: default
SRCDIR = src
INCDIR = include
OBJDIR = build
2018-04-22 14:04:54 +02:00
LIBDIR = libs
2019-01-03 20:47:34 +01:00
TESTDIR = tests
2018-04-02 13:30:45 +02:00
BINDIR = .
2019-01-03 20:52:10 +01:00
SRCS := $(shell (echo src/tests_autogen.c; find -L $(SRCDIR) $(LIBDIR) $(TESTDIR) -type f -name '*.c' | egrep -v 'deps/|build/') | sort | uniq )
2019-01-03 20:47:34 +01:00
INCS := $(shell find -L $(SRCDIR) $(LIBDIR) $(TESTDIR) $(INCDIR) -type d -name 'include'| egrep -v 'deps/|build/' )
2018-04-22 14:04:54 +02:00
INCFLAGS := $(patsubst %,-I %, $(INCS))
OBJS := $(patsubst %.c, build/%.o, $(SRCS))
2018-04-02 13:30:45 +02:00
RM = rm -f
2018-04-22 14:04:54 +02:00
RMDIR = rm -r -f
2018-04-02 13:30:45 +02:00
2018-04-22 14:04:54 +02:00
$(BINDIR)/$(TARGET): $(OBJS)
$(LINKER) $(OBJS) $(LFLAGS) -o $@
2018-04-02 13:30:45 +02:00
2018-04-22 14:04:54 +02:00
$(OBJS): $(OBJDIR)/%.o : %.c
@mkdir -p $(shell dirname $(OBJS))
$(CC) $(CFLAGS) $(INCFLAGS) -c $< -o $@
2018-04-02 13:30:45 +02:00
.PHONY: clean
clean:
2018-04-22 14:04:54 +02:00
$(RMDIR) $(OBJDIR)
2018-04-02 13:30:45 +02:00
$(RM) $(BINDIR)/$(TARGET)
2019-01-03 20:50:24 +01:00
$(RM) $(INCDIR)/tests_autogen.h
$(RM) $(SRCDIR)/tests_autogen.c
.PHONY: autogen
autogen:
@./autogen.sh