Sample Video Frame
Exercise 45: A Simple TCP/IP Client
I'm going to use the RingBuffer to create a very simplistic network testing tool called netclient. To do this, I have to add some stuff to the Makefile to handle little programs in the bin/ directory.
Augment the Makefile
First, add a variable for the programs just like the unit test's TESTS and TEST_SRC variables:
PROGRAMS_SRC=$(wildcard bin/*.c)
PROGRAMS=$(patsubst %.c,%,$(PROGRAMS_SRC))
Then, you want to add the PROGRAMS to the all target:
all: $(TARGET) $(SO_TARGET) tests $(PROGRAMS)
Then, add PROGRAMS to the rm line in the clean target:
rm -rf build $(OBJECTS) $(TESTS) $(PROGRAMS)
Finally, you just need a target at the end to build them all:
$(PROGRAMS): CFLAGS += $(TARGET)
With these changes, you can drop simple .c files into bin, and make will build them and link them to the library just like unit tests do.
Register for Learn C the Hard Way
Register today for the course and get the all currently available videos and lessons, plus all future modules for no extra charge.