35 lines
705 B
Makefile
35 lines
705 B
Makefile
|
|
# 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/
|