ly/dep/argoat/makefile

45 lines
957 B
Makefile

NAME = test
CC = gcc
FLAGS = -std=c99 -pedantic -g
FLAGS+= -Wall -Wextra -Werror=vla -Werror -Wno-unused-parameter
BIND = bin
OBJD = obj
SUBD = sub
SRCD = src
TEST = test
BINS = $(BIND)/argoat_sample_1
BINS+= $(BIND)/argoat_sample_2
BINS+= $(BIND)/argoat_sample_3
INCL = -I$(SRCD) -I$(SUBD)/testoasterror/src
DEP = $(SUBD)/testoasterror/src/testoasterror.h
$(OBJD)/%.o: %.c
@echo "building object $@"
@mkdir -p $(@D)
@$(CC) $(INCL) $(FLAGS) -c -o $@ $<
all: $(DEP) $(BINS) $(BIND)/$(NAME)
$(DEP):
@git submodule update --init --recursive
$(BIND)/argoat_sample_%: $(OBJD)/$(SRCD)/argoat.o $(OBJD)/$(TEST)/argoat_sample_%.o
@echo "compiling executable $@"
@mkdir -p $(@D)
@$(CC) -o $@ $^ $(LINK)
$(BIND)/$(NAME): $(OBJD)/$(TEST)/main.o $(OBJD)/$(SUBD)/testoasterror/src/testoasterror.o
@echo "compiling executable $@"
@mkdir -p $(@D)
@$(CC) -o $@ $^ $(LINK)
run:
@cd $(BIND) && ./$(NAME)
clean:
@echo "cleaning"
@rm -rf $(BIND) $(OBJD)