41 lines
758 B
Makefile
41 lines
758 B
Makefile
|
BUILD_DIR = build
|
||
|
|
||
|
C_SOURCES = \
|
||
|
configmaker.c
|
||
|
|
||
|
|
||
|
C_INCLUDES = \
|
||
|
-I. \
|
||
|
-I../cube/User/Inc
|
||
|
|
||
|
VERSION := $(shell git rev-parse --short=8 HEAD)
|
||
|
|
||
|
CC = gcc
|
||
|
CFLAGS = $(C_INCLUDES) -Wall -Werror -std=c99 -DVERSION="\"$(VERSION)\""
|
||
|
LDFLAGS = -lconfig
|
||
|
TARGET = configmaker
|
||
|
|
||
|
UNAME_S := $(shell uname -s)
|
||
|
ifeq ($(UNAME_S),OpenBSD)
|
||
|
CFLAGS += -I/usr/local/include -DOpenBSD=1
|
||
|
LDFLAGS += -L/usr/local/lib
|
||
|
endif
|
||
|
|
||
|
all: $(BUILD_DIR)/$(TARGET)
|
||
|
|
||
|
OBJECTS = $(addprefix $(BUILD_DIR)/,$(notdir $(C_SOURCES:.c=.o)))
|
||
|
vpath %.c $(sort $(dir $(C_SOURCES)))
|
||
|
|
||
|
$(BUILD_DIR)/%.o: %.c Makefile | $(BUILD_DIR)
|
||
|
$(CC) -c $(CFLAGS) $< -o $@
|
||
|
|
||
|
$(BUILD_DIR)/$(TARGET): $(OBJECTS) Makefile
|
||
|
$(CC) $(OBJECTS) $(LDFLAGS) -o $@
|
||
|
|
||
|
$(BUILD_DIR):
|
||
|
mkdir $@
|
||
|
|
||
|
.phony: clean
|
||
|
clean:
|
||
|
-rm -rf $(BUILD_DIR)
|