54 lines
1.2 KiB
Makefile
Executable File
54 lines
1.2 KiB
Makefile
Executable File
# GNU/Linux specific Make directives.
|
|
|
|
# Declare tools.
|
|
SHELL = /bin/sh
|
|
CC = cc
|
|
LD = cc
|
|
ECHO = @echo
|
|
|
|
CFLAGS = -std=c99 -Wall -Wextra -O0 -ggdb3 -Wno-unused-variable -Wno-unused-parameter
|
|
LDFLAGS =
|
|
|
|
EXECUTABLE = bmp180_rpi
|
|
|
|
SOURCES = main.c
|
|
OBJECTS = $(SOURCES:.c=.o)
|
|
CLEANFILES = main.o
|
|
|
|
|
|
|
|
# To get a fully verbose make output do declare 'AT' at the command line like so: 'make AT='.
|
|
# By default AT is undefined and thus assigned the string '@' which suppresses output from commands.
|
|
AT ?= @
|
|
|
|
# Colors and efects
|
|
#######################################
|
|
|
|
NORMAL = \033[m
|
|
|
|
FG_DKGREEN = \033[32;7m
|
|
FG_YELLOW = \033[33;7m
|
|
FG_BLUE = \033[34;7m
|
|
FG_REDFULL = \033[31;7m
|
|
|
|
##########################################
|
|
|
|
.SUFFIXES: .c .o
|
|
.PHONY: clean
|
|
|
|
# Compile
|
|
all: clean $(EXECUTABLE)
|
|
|
|
.c.o:
|
|
$(ECHO) "[$(FG_BLUE)COMPILING$(NORMAL)] $@"
|
|
$(AT) $(CC) $(CFLAGS) -o $*.o -c $<
|
|
|
|
$(EXECUTABLE): $(OBJECTS)
|
|
$(ECHO) "[$(FG_YELLOW)LINKING$(NORMAL)] $(EXECUTABLE)"
|
|
$(AT) $(LD) $(LDFLAGS) $(OBJECTS) -o $(EXECUTABLE)
|
|
$(ECHO) "[$(FG_DKGREEN)SUCCESS$(NORMAL)] Run ./$(EXECUTABLE) to start your aplication, Enjoy :)"
|
|
|
|
clean:
|
|
$(ECHO) "[$(FG_REDFULL)CLEANED$(NORMAL)] $(CLEANFILES)"
|
|
$(AT) rm -rf $(CLEANFILES)
|