From 64fe69d3e3b6c311bf3d5c4f2c36e601e210a37b Mon Sep 17 00:00:00 2001 From: Pim van Pelt Date: Sun, 22 Apr 2018 14:04:54 +0200 Subject: [PATCH] Introduce 'libs' Recursively search libs/* for source and include dirs Move mgos_barometer code to its own subdir, in preparation for release to GitHub. --- Makefile | 23 +++++++++++-------- .../mgos_barometer/include}/mgos_barometer.h | 0 .../mgos_barometer/src}/mgos_barometer.c | 0 .../src}/mgos_barometer_bme280.c | 0 .../src}/mgos_barometer_bme280.h | 0 .../src}/mgos_barometer_internal.h | 0 .../src}/mgos_barometer_mpl115.c | 0 .../src}/mgos_barometer_mpl115.h | 0 .../src}/mgos_barometer_mpl3115.c | 0 .../src}/mgos_barometer_mpl3115.h | 0 10 files changed, 13 insertions(+), 10 deletions(-) rename {include => libs/mgos_barometer/include}/mgos_barometer.h (100%) rename {src => libs/mgos_barometer/src}/mgos_barometer.c (100%) rename {src => libs/mgos_barometer/src}/mgos_barometer_bme280.c (100%) rename {src => libs/mgos_barometer/src}/mgos_barometer_bme280.h (100%) rename {src => libs/mgos_barometer/src}/mgos_barometer_internal.h (100%) rename {src => libs/mgos_barometer/src}/mgos_barometer_mpl115.c (100%) rename {src => libs/mgos_barometer/src}/mgos_barometer_mpl115.h (100%) rename {src => libs/mgos_barometer/src}/mgos_barometer_mpl3115.c (100%) rename {src => libs/mgos_barometer/src}/mgos_barometer_mpl3115.h (100%) diff --git a/Makefile b/Makefile index 6e0b709..8110cea 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ TARGET = mgos_i2c CC = gcc -CFLAGS = -g -O -Wall -I include/ +CFLAGS = -g -O -Wall LINKER = gcc LFLAGS = -O -Wall -I. -lm @@ -12,21 +12,24 @@ all: default SRCDIR = src INCDIR = include OBJDIR = build +LIBDIR = libs BINDIR = . -SOURCES := $(wildcard $(SRCDIR)/*.c) -INCLUDES := $(wildcard $(SRCDIR)/*.h) -OBJECTS := $(SOURCES:$(SRCDIR)/%.c=$(OBJDIR)/%.o) +SRCS := $(shell find $(SRCDIR) $(LIBDIR) -type f -name '*.c') +INCS := $(shell find $(SRCDIR) $(LIBDIR) $(INCDIR) -type d -name 'include') +INCFLAGS := $(patsubst %,-I %, $(INCS)) +OBJS := $(patsubst %.c, build/%.o, $(SRCS)) RM = rm -f +RMDIR = rm -r -f +$(BINDIR)/$(TARGET): $(OBJS) + $(LINKER) $(OBJS) $(LFLAGS) -o $@ -$(BINDIR)/$(TARGET): $(OBJECTS) - $(LINKER) $(OBJECTS) $(LFLAGS) -o $@ - -$(OBJECTS): $(OBJDIR)/%.o : $(SRCDIR)/%.c - $(CC) $(CFLAGS) -c $< -o $@ +$(OBJS): $(OBJDIR)/%.o : %.c + @mkdir -p $(shell dirname $(OBJS)) + $(CC) $(CFLAGS) $(INCFLAGS) -c $< -o $@ .PHONY: clean clean: - $(RM) $(OBJECTS) + $(RMDIR) $(OBJDIR) $(RM) $(BINDIR)/$(TARGET) diff --git a/include/mgos_barometer.h b/libs/mgos_barometer/include/mgos_barometer.h similarity index 100% rename from include/mgos_barometer.h rename to libs/mgos_barometer/include/mgos_barometer.h diff --git a/src/mgos_barometer.c b/libs/mgos_barometer/src/mgos_barometer.c similarity index 100% rename from src/mgos_barometer.c rename to libs/mgos_barometer/src/mgos_barometer.c diff --git a/src/mgos_barometer_bme280.c b/libs/mgos_barometer/src/mgos_barometer_bme280.c similarity index 100% rename from src/mgos_barometer_bme280.c rename to libs/mgos_barometer/src/mgos_barometer_bme280.c diff --git a/src/mgos_barometer_bme280.h b/libs/mgos_barometer/src/mgos_barometer_bme280.h similarity index 100% rename from src/mgos_barometer_bme280.h rename to libs/mgos_barometer/src/mgos_barometer_bme280.h diff --git a/src/mgos_barometer_internal.h b/libs/mgos_barometer/src/mgos_barometer_internal.h similarity index 100% rename from src/mgos_barometer_internal.h rename to libs/mgos_barometer/src/mgos_barometer_internal.h diff --git a/src/mgos_barometer_mpl115.c b/libs/mgos_barometer/src/mgos_barometer_mpl115.c similarity index 100% rename from src/mgos_barometer_mpl115.c rename to libs/mgos_barometer/src/mgos_barometer_mpl115.c diff --git a/src/mgos_barometer_mpl115.h b/libs/mgos_barometer/src/mgos_barometer_mpl115.h similarity index 100% rename from src/mgos_barometer_mpl115.h rename to libs/mgos_barometer/src/mgos_barometer_mpl115.h diff --git a/src/mgos_barometer_mpl3115.c b/libs/mgos_barometer/src/mgos_barometer_mpl3115.c similarity index 100% rename from src/mgos_barometer_mpl3115.c rename to libs/mgos_barometer/src/mgos_barometer_mpl3115.c diff --git a/src/mgos_barometer_mpl3115.h b/libs/mgos_barometer/src/mgos_barometer_mpl3115.h similarity index 100% rename from src/mgos_barometer_mpl3115.h rename to libs/mgos_barometer/src/mgos_barometer_mpl3115.h