2 # ---------------------------------------------------------------------------- #
6 # ---------------------------------------------------------------------------- #
10 linux: CC=/usr/bin/gcc
11 linux: CCLIB=/usr/bin/gcc -shared -Wl,-soname
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../include -I../../include -I.. -I../platform/linux -I../../platform/linux -I../platform
19 linux: LIBRARIES=-L/usr/local/lib -lnsl -ldl -lm -lX11 -lEGL -lGLESv2
22 linux-all: cilux mod-ni.so mod-np.so mod-mid.so install-lin
24 # ---------------------------------------------------------------------------- #
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=\"np\";" >> src/platform/linux/version.h
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))
41 @echo '--------------------'
43 mod-ni.so: src/ni/ni.c src/ni/headers.c src/include/ni.h src/include/kernelapi.h src/platform/linux/platform.h
44 (cd src/ni; $(CC) $(CCOPTIONS) -c headers.c -o headers.o $(COMPILEOPTIONS) $(INCLUDES))
45 (cd src/ni; $(CC) $(CCOPTIONS) -c ni.c -o ni.o $(COMPILEOPTIONS) $(INCLUDES))
46 $(CCLIB),mod-ni.so -o mod-ni.so src/ni/headers.o src/ni/ni.o
48 @echo '--------------------'
50 mod-np.so: src/drivers/np/np.c src/drivers/np/uri2chan.c src/include/kernelapi.h src/platform/linux/platform.h
51 (cd src/drivers/np; $(CC) $(CCOPTIONS) -c np.c -o np.o $(COMPILEOPTIONS) $(INCLUDES))
52 (cd src/drivers/np; $(CC) $(CCOPTIONS) -c uri2chan.c -o uri2chan.o $(COMPILEOPTIONS) $(INCLUDES))
53 (cd src/drivers/np; $(CC) $(CCOPTIONS) -c cache.c -o cache.o $(COMPILEOPTIONS) $(INCLUDES))
54 $(CCLIB),mod-np.so -o mod-np.so src/drivers/np/np.o src/drivers/np/uri2chan.o src/drivers/np/cache.o
56 @echo '--------------------'
58 mod-mid.so: src/drivers/mid/mid.c src/include/kernelapi.h src/platform/linux/platform.h
59 (cd src/drivers/mid; $(CC) $(CCOPTIONS) -c mid.c -o mid.o $(COMPILEOPTIONS) $(INCLUDES))
60 $(CCLIB),mod-mid.so -o mod-mid.so src/drivers/mid/mid.o
62 @echo '--------------------'
65 cp cilux /usr/local/bin
66 cp mod-ni.so mod-np.so /usr/local/lib
67 cp mod-mid.so modules/mid
68 @echo '--------------------'
70 # ---------------------------------------------------------------------------- #
73 find . -name '*.o' | xargs rm -f
76 rm -f modules/*/mod-*.*
77 rm -f src/platform/*/version.h
78 @echo '--------------------'
80 # ---------------------------------------------------------------------------- #