export CC := gcc
export CFLAGS := -Werror -Wall -Wextra -O3 -I $(INCDIR) -std=c99
export SRC_C := $(wildcard *.c)
export OBJ := $(SRC_C:.c=.o)
export EXEC_SUFFIX := elf
export COMPILE_CMD = $(CC) $(CFLAGS) $@.o common.o -o $(BINDIR)/examples/c/$@.$(EXEC_SUFFIX) $(LIBS)
all: common.o pipe-ping-pong udp-push-pop udp-ping-pong tcp-push-pop tcp-ping-pong
make-dirs:
mkdir -p $(BINDIR)/examples/c
pipe-ping-pong: make-dirs pipe-ping-pong.o
$(COMPILE_CMD)
udp-push-pop: make-dirs common.o udp-push-pop.o
$(COMPILE_CMD)
udp-ping-pong: make-dirs common.o udp-ping-pong.o
$(COMPILE_CMD)
tcp-push-pop: make-dirs common.o tcp-push-pop.o
$(COMPILE_CMD)
tcp-ping-pong: make-dirs common.o tcp-ping-pong.o
$(COMPILE_CMD)
clean:
@rm -rf $(OBJ)
@rm -rf $(BINDIR)/examples/c/pipe-ping-pong.$(EXEC_SUFFIX)
@rm -rf $(BINDIR)/examples/c/udp-push-pop.$(EXEC_SUFFIX)
@rm -rf $(BINDIR)/examples/c/udp-ping-pong.$(EXEC_SUFFIX)
@rm -rf $(BINDIR)/examples/c/tcp-push-pop.$(EXEC_SUFFIX)
@rm -rf $(BINDIR)/examples/c/tcp-ping-pong.$(EXEC_SUFFIX)
%.o: %.c
$(CC) $(CFLAGS) $< -c -o $@