forked from amberisvibin/bbs
47 lines
929 B
Makefile
47 lines
929 B
Makefile
# SPDX-License-Identifier: MIT
|
|
|
|
# Makefile for Amber's BBS Interface
|
|
# Buildsys by Gale Faraday
|
|
|
|
# `generate` must be called before `all` to build version information and other
|
|
# machine generated files.
|
|
|
|
.PHONY: all clean run generate
|
|
.SUFFIXES:
|
|
|
|
.DEFAULT_GOAL := all
|
|
|
|
TARGET := $(shell basename $(CURDIR))
|
|
SOURCES := src/
|
|
BUILD := build/
|
|
GENABLES := $(SOURCES)version.c
|
|
OBJS := $(patsubst $(SOURCES)%.c,$(BUILD)%.o,$(wildcard $(SOURCES)*.c))
|
|
EXECUTABLE := $(TARGET)
|
|
|
|
|
|
CC := gcc
|
|
LD := gcc
|
|
CFLAGS := -std=c99 -pedantic -Wall -Wextra -O2 -ggdb
|
|
LDFLAGS := $(CFLAGS) -lncurses
|
|
|
|
all: $(EXECUTABLE)
|
|
|
|
run: $(EXECUTABLE)
|
|
./$(EXECUTABLE)
|
|
|
|
.IGNORE: clean
|
|
clean:
|
|
@rm -rvf $(BUILD) $(EXECUTABLE) $(GENABLES)
|
|
|
|
generate: $(GENABLES)
|
|
|
|
$(GENABLES): genver.sh
|
|
./genver.sh
|
|
|
|
$(EXECUTABLE): $(OBJS)
|
|
$(LD) $(LDFLAGS) -o $@ $^
|
|
|
|
$(OBJS): $(BUILD)%.o : $(SOURCES)%.c
|
|
-@mkdir -p $(BUILD)
|
|
$(CC) $(CFLAGS) -o $@ -c $<
|