CC = gcc CLIENT = iodine CLIENTOBJS = iodine.o tun.o dns.o read.o encoding.o SERVER = iodined SERVEROBJS = iodined.o tun.o dns.o read.o encoding.o TESTSUITE = tester TESTOBJS = test.o dns.o read.o encoding.o OS = `uname | tr "a-z" "A-Z"` LDFLAGS = -lz CFLAGS = -c -g -Wall -D$(OS) all: stateos $(CLIENT) $(SERVER) $(TESTSUITE) test: $(TESTSUITE) @./$(TESTSUITE) stateos: @echo OS is $(OS) $(CLIENT): $(CLIENTOBJS) @echo LD $@ @$(CC) $(CLIENTOBJS) -o $(CLIENT) $(LDFLAGS) $(SERVER): $(SERVEROBJS) @echo LD $@ @$(CC) $(SERVEROBJS) -o $(SERVER) $(LDFLAGS) $(TESTSUITE): $(TESTOBJS) @echo LD $@ @$(CC) $(TESTOBJS) -o $(TESTSUITE) $(LDFLAGS) @echo Running tests... @./$(TESTSUITE) .c.o: @echo CC $< @$(CC) $(CFLAGS) $< -o $@ clean: @echo "Cleaning..." @rm -f $(CLIENT) $(SERVER) $(TESTSUITE) *~ *.o *.core