New upstream release:
[debian/iodine.git] / src / Makefile
1 CC = gcc
2 COMMONOBJS = tun.o dns.o read.o encoding.o login.o base32.o base64.o md5.o common.o
3 CLIENTOBJS = iodine.o
4 CLIENT = ../bin/iodine
5 SERVEROBJS = iodined.o user.o
6 SERVER = ../bin/iodined
7
8 OS = `uname | tr "a-z" "A-Z"`
9 ARCH = `uname -m`
10
11 LDFLAGS =  -lz `sh osflags link`
12 CFLAGS = -c -g -Wall -D$(OS) -pedantic
13
14 all: stateos $(CLIENT) $(SERVER)
15
16 stateos:
17         @echo OS is $(OS), arch is $(ARCH)
18
19 $(CLIENT): $(COMMONOBJS) $(CLIENTOBJS)
20         @echo LD $@
21         @mkdir -p ../bin
22         @$(CC) $(COMMONOBJS) $(CLIENTOBJS) -o $(CLIENT) $(LDFLAGS)
23
24 $(SERVER): $(COMMONOBJS) $(SERVEROBJS)
25         @echo LD $@
26         @mkdir -p ../bin
27         @$(CC) $(COMMONOBJS) $(SERVEROBJS) -o $(SERVER) $(LDFLAGS)
28
29 .c.o: 
30         @echo CC $<
31         @$(CC) $(CFLAGS) $< -o $@
32
33 clean:
34         @echo "Cleaning src/"
35         @rm -f $(CLIENT) $(SERVER) *~ *.o *.core
36