hello: hello.c libfunc.so $(CROSS_COMPILE)gcc -g -ohello hello.c -L. -lfunc hello2: hello.c libfunc.a rm -f libfunc.so $(CROSS_COMPILE)gcc -g -ohello2 hello.c -L. -lfunc libfunc.so: libfunc.so.0.0.1 ln -s libfunc.so.0.0.1 libfunc.so libfunc.so.0.0.1: func1.o func2.o $(CROSS_COMPILE)gcc -shared -olibfunc.so.0.0.1 -Wl,-soname,libfunc.so.0 func1.o func2.o libfunc.a: func1.o func2.o $(CROSS_COMPILE)ar cr libfunc.a func1.o func2.o $(CROSS_COMPILE)ranlib libfunc.a func1.o: func1.c $(CROSS_COMPILE)gcc -fPIC -g -c func1.c func2.o: func2.c $(CROSS_COMPILE)gcc -fPIC -g -c func2.c install_lib: libfunc.so.0.0.1 echo "/opt/acme/lib" > /etc/ld.so.conf.d/acme.conf mkdir -p /opt/acme/lib cp libfunc.so.0.0.1 /opt/acme/lib ldconfig clean: rm -f hello hello2 *.o lib* .PHONY: clean