Introduce 'libs'
Recursively search libs/* for source and include dirs Move mgos_barometer code to its own subdir, in preparation for release to GitHub.
This commit is contained in:
23
Makefile
23
Makefile
@ -1,6 +1,6 @@
|
|||||||
TARGET = mgos_i2c
|
TARGET = mgos_i2c
|
||||||
CC = gcc
|
CC = gcc
|
||||||
CFLAGS = -g -O -Wall -I include/
|
CFLAGS = -g -O -Wall
|
||||||
LINKER = gcc
|
LINKER = gcc
|
||||||
LFLAGS = -O -Wall -I. -lm
|
LFLAGS = -O -Wall -I. -lm
|
||||||
|
|
||||||
@ -12,21 +12,24 @@ all: default
|
|||||||
SRCDIR = src
|
SRCDIR = src
|
||||||
INCDIR = include
|
INCDIR = include
|
||||||
OBJDIR = build
|
OBJDIR = build
|
||||||
|
LIBDIR = libs
|
||||||
BINDIR = .
|
BINDIR = .
|
||||||
|
|
||||||
SOURCES := $(wildcard $(SRCDIR)/*.c)
|
SRCS := $(shell find $(SRCDIR) $(LIBDIR) -type f -name '*.c')
|
||||||
INCLUDES := $(wildcard $(SRCDIR)/*.h)
|
INCS := $(shell find $(SRCDIR) $(LIBDIR) $(INCDIR) -type d -name 'include')
|
||||||
OBJECTS := $(SOURCES:$(SRCDIR)/%.c=$(OBJDIR)/%.o)
|
INCFLAGS := $(patsubst %,-I %, $(INCS))
|
||||||
|
OBJS := $(patsubst %.c, build/%.o, $(SRCS))
|
||||||
RM = rm -f
|
RM = rm -f
|
||||||
|
RMDIR = rm -r -f
|
||||||
|
|
||||||
|
$(BINDIR)/$(TARGET): $(OBJS)
|
||||||
|
$(LINKER) $(OBJS) $(LFLAGS) -o $@
|
||||||
|
|
||||||
$(BINDIR)/$(TARGET): $(OBJECTS)
|
$(OBJS): $(OBJDIR)/%.o : %.c
|
||||||
$(LINKER) $(OBJECTS) $(LFLAGS) -o $@
|
@mkdir -p $(shell dirname $(OBJS))
|
||||||
|
$(CC) $(CFLAGS) $(INCFLAGS) -c $< -o $@
|
||||||
$(OBJECTS): $(OBJDIR)/%.o : $(SRCDIR)/%.c
|
|
||||||
$(CC) $(CFLAGS) -c $< -o $@
|
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
$(RM) $(OBJECTS)
|
$(RMDIR) $(OBJDIR)
|
||||||
$(RM) $(BINDIR)/$(TARGET)
|
$(RM) $(BINDIR)/$(TARGET)
|
||||||
|
Reference in New Issue
Block a user