Big renaming
[cilux] / makefile
1
2 # ---------------------------------------------------------------------------- #
3
4 CILUX_VERSION=0.3.AA
5
6 # ---------------------------------------------------------------------------- #
7
8 all: linux
9
10 linux: CC=/usr/bin/gcc
11 linux: CCLIB=/usr/bin/gcc -shared -Wl,-soname
12 linux: STRIP=strip
13 linux: STRIP=ls -l
14 linux: CCOPTIONS=-g -O -Wall -Wimplicit
15 linux: COMPILEOPTIONS=-march=i386 -mtune=i586 -fPIC
16 linux: LINKOPTIONS=-Wl,-export-dynamic -Wl,-rpath,.
17 linux: LINKOPTIONS=-Wl,-export-dynamic
18 linux: INCLUDES=-I/usr/local/include -I. -I../include -I../../include -I../../../include -I.. -I../platform/linux -I../../platform/linux -I../../../platform/linux
19 linux: LIBRARIES=-L/usr/local/lib -lnsl -ldl -lm -lX11 -lEGL -lGLESv2
20 linux: linux-all
21
22 linux-all: cilux mod-on.so mod-op.so mod-mid.so mod-teston.so install-lin
23
24 # ---------------------------------------------------------------------------- #
25
26 version-lin:
27         @echo '$@'
28         @rm -f src/platform/linux/version.h
29         @echo -n "static char* cilux_version=\"Cilux " >  src/platform/linux/version.h
30         @echo -n $(CILUX_VERSION)                      >> src/platform/linux/version.h
31         @echo -n " Linux (Built "                      >> src/platform/linux/version.h
32         @date | tr '\012' ')'                          >> src/platform/linux/version.h
33         @echo "\";"                                    >> src/platform/linux/version.h
34         @echo "static char* cilux_ciux=\"op\";"        >> src/platform/linux/version.h
35
36 cilux: version-lin src/platform/linux/cilux.c src/platform/linux/kernelplat.h src/platform/linux/kernelplat.c src/platform/kernelapi.c src/include/kernelapi.h src/platform/linux/platform.h
37         (cd src/platform/linux; $(CC) $(CCOPTIONS) -c cilux.c -o cilux.o $(COMPILEOPTIONS) $(INCLUDES))
38         (cd src/platform;       $(CC) $(CCOPTIONS) -c kernelapi.c -o kernelapi.o $(COMPILEOPTIONS) $(INCLUDES))
39         (cd src/platform/linux; $(CC) $(CCOPTIONS) -o ../../../cilux cilux.o ../kernelapi.o $(LINKOPTIONS) $(LIBRARIES))
40         $(STRIP) cilux
41         @echo '--------------------'
42
43 mod-on.so: src/on/notification.c src/on/headers.c src/include/notification.h src/include/kernelapi.h src/platform/linux/platform.h
44         (cd src/on; $(CC) $(CCOPTIONS) -c headers.c       -o headers.o      $(COMPILEOPTIONS) $(INCLUDES))
45         (cd src/on; $(CC) $(CCOPTIONS) -c notification.c  -o notification.o $(COMPILEOPTIONS) $(INCLUDES))
46         $(CCLIB),mod-on.so -o mod-on.so src/on/headers.o src/on/notification.o
47         $(STRIP) mod-on.so
48         @echo '--------------------'
49
50 mod-op.so: src/drivers/op/protocol.c src/drivers/op/uri2chan.c src/include/kernelapi.h src/platform/linux/platform.h
51         (cd src/drivers/op; $(CC) $(CCOPTIONS) -c protocol.c -o protocol.o   $(COMPILEOPTIONS) $(INCLUDES))
52         (cd src/drivers/op; $(CC) $(CCOPTIONS) -c uri2chan.c -o uri2chan.o $(COMPILEOPTIONS) $(INCLUDES))
53         (cd src/drivers/op; $(CC) $(CCOPTIONS) -c cache.c    -o cache.o $(COMPILEOPTIONS) $(INCLUDES))
54         $(CCLIB),mod-op.so -o mod-op.so src/drivers/op/protocol.o src/drivers/op/uri2chan.o src/drivers/op/cache.o
55         $(STRIP) mod-op.so
56         @echo '--------------------'
57
58 mod-mid.so: src/drivers/ot/mid/mid.c src/include/kernelapi.h src/platform/linux/platform.h
59         (cd src/drivers/ot/mid; $(CC) $(CCOPTIONS) -c mid.c -o mid.o $(COMPILEOPTIONS) $(INCLUDES))
60         $(CCLIB),mod-mid.so -o mod-mid.so src/drivers/ot/mid/mid.o
61         $(STRIP) mod-mid.so
62         @echo '--------------------'
63
64 mod-teston.so: src/drivers/ot/test/teston.c src/include/kernelapi.h src/platform/linux/platform.h
65         (cd src/drivers/ot/test; $(CC) $(CCOPTIONS) -c teston.c -o teston.o $(COMPILEOPTIONS) $(INCLUDES))
66         $(CCLIB),mod-teston.so -o mod-teston.so src/drivers/ot/test/teston.o
67         $(STRIP) mod-teston.so
68         @echo '--------------------'
69
70 install-lin:
71         mv cilux /usr/local/bin
72         mv mod-on.so mod-op.so /usr/local/lib
73         mkdir -p modules/mid
74         mv mod-mid.so modules/mid
75         mkdir -p modules/teston
76         mv mod-teston.so modules/teston
77         @echo '--------------------'
78
79 # ---------------------------------------------------------------------------- #
80
81 clean:
82         find . -name '*.o'   | xargs rm -f
83         rm -f cilux *.so
84         rm -f ,*
85         rm -f modules/*/mod-*.*
86         rm -f src/platform/*/version.h
87         @echo '--------------------'
88
89 # ---------------------------------------------------------------------------- #
90
91
92