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 fw_query.o
6 SERVER = ../bin/iodined
7
8 OS = `echo $(TARGETOS) | tr "a-z" "A-Z"`
9 ARCH = `uname -m`
10
11 LIBPATH = -L.
12 LDFLAGS =  -lz `sh osflags $(TARGETOS) link` $(LIBPATH)
13 CFLAGS = -c -g -Wall -D$(OS) -pedantic `sh osflags $(TARGETOS) cflags`
14
15 all: stateos $(CLIENT) $(SERVER)
16
17 stateos:
18         @echo OS is $(OS), arch is $(ARCH)
19
20 $(CLIENT): $(COMMONOBJS) $(CLIENTOBJS)
21         @echo LD $@
22         @mkdir -p ../bin
23         @$(CC) $(COMMONOBJS) $(CLIENTOBJS) -o $(CLIENT) $(LDFLAGS)
24
25 $(SERVER): $(COMMONOBJS) $(SERVEROBJS)
26         @echo LD $@
27         @mkdir -p ../bin
28         @$(CC) $(COMMONOBJS) $(SERVEROBJS) -o $(SERVER) $(LDFLAGS)
29
30 .c.o: 
31         @echo CC $<
32         @$(CC) $(CFLAGS) $< -o $@
33
34 clean:
35         @echo "Cleaning src/"
36         @rm -f $(CLIENT){,.exe} $(SERVER){,.exe} *~ *.o *.core
37