Projects / rtop / Makefile

git clone https://molodetz.nl/retoor/rtop.git

Raw source file available here .

# retoor <retoor@molodetz.nl>

CC = gcc
CFLAGS = -Wall -Wextra -Werror -pedantic -std=c99 -O3 -march=native -D_POSIX_C_SOURCE=200809L -D_GNU_SOURCE
LDFLAGS = -static
SRCDIR = src
INCDIR = include
OBJDIR = obj

SOURCES = $(wildcard $(SRCDIR)/*.c)
OBJECTS = $(SOURCES:$(SRCDIR)/%.c=$(OBJDIR)/%.o)
TARGET = rtop

.PHONY: all clean debug

all: $(TARGET)

debug: CFLAGS += -g -DDEBUG
debug: $(TARGET)

$(TARGET): $(OBJECTS)
$(CC) $(OBJECTS) -o $@ $(LDFLAGS) 2>/dev/null || $(CC) $(OBJECTS) -o $@

$(OBJDIR)/%.o: $(SRCDIR)/%.c | $(OBJDIR)
$(CC) $(CFLAGS) -I$(INCDIR) -c $< -o $@

$(OBJDIR):
mkdir -p $(OBJDIR)

clean:
rm -rf $(OBJDIR) $(TARGET)

install: $(TARGET)
install -m 755 $(TARGET) /usr/local/bin/