Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- TARGET = AR1020
- CC = gcc
- CFLAGS = -Wall -std=c99 -I./inc/
- LINKER = gcc -o
- LFLAGS = -Wall -static -I./inc/
- SRCDIR = src
- INCDIR = inc
- OBJDIR = obj
- BINDIR = bin
- LIBDIR = ./lib
- LIBFLAG = -li2c
- SOURCES := $(wildcard $(SRCDIR)/*.c)
- INCLUDES := $(wildcard $(INCDIR)/*.h)
- OBJECTS := $(SOURCES:$(SRCDIR)/%.c=$(OBJDIR)/%.o)
- rm = rm -f
- $(BINDIR)/$(TARGET): $(OBJECTS)
- @$(LINKER) $@ $(LFLAGS) -L$(LIBDIR) $(LIBFLAG) $(OBJECTS)
- @echo "Linking complete!"
- $(OBJECTS): $(OBJDIR)/%.o : $(SRCDIR)/%.c
- @$(CC) $(CFLAGS) -c $< -o $@
- @echo "Compiled "$<" successfully"
- .PHONY: clean
- clean:
- @$(rm) $(OBJECTS)
- @echo "Cleanup complete!"
- .PHONY: remove
- remove: clean
- @$(rm) $(BINDIR)/$(TARGET)
- @echo "Exacutable removed!"
- |-- bin
- |-- inc
- | |-- color.h
- | |-- EXT.h
- | |-- EXT.h~
- | |-- gpio_lib.h
- | `-- test.h
- |-- lib
- | |-- i2c.c
- | |-- i2c.o
- | `-- libi2c.a
- |-- Makefile
- |-- obj
- | |-- AR1020.o
- | |-- gpio_lib.o
- | |-- gpio.o
- | `-- test.o
- `-- src
- |-- AR1020.c
- |-- gpio_lib.c
- `-- libi2c.a
- gcc src/AR1020.c lib/libi2c.a
- @$(LINKER) $@ $(LFLAGS) -L$(LIBDIR) $(LIBFLAG) $(OBJECTS)
- @$(LINKER) $@ $(LFLAGS) -L$(LIBDIR) $(OBJECTS) $(LIBFLAG)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement