diff options
Diffstat (limited to 'schulung_tools/linking/hello/Makefile')
| -rw-r--r-- | schulung_tools/linking/hello/Makefile | 43 |
1 files changed, 20 insertions, 23 deletions
diff --git a/schulung_tools/linking/hello/Makefile b/schulung_tools/linking/hello/Makefile index a5b4c26..c383eae 100644 --- a/schulung_tools/linking/hello/Makefile +++ b/schulung_tools/linking/hello/Makefile @@ -1,33 +1,30 @@ -hello: hello.c libfunc.so - $(CROSS_COMPILE)gcc -g -ohello hello.c -L. -lfunc +CC = $(CROSS_COMPILE)gcc +LD = $(CROSS_COMPILE)gcc -hello2: hello.c libfunc.a - rm -f libfunc.so - $(CROSS_COMPILE)gcc -g -ohello2 hello.c -L. -lfunc +OBJS = hello.o -libfunc.so: libfunc.so.0.0.1 - ln -s libfunc.so.0.0.1 libfunc.so +CFLAGS = -g -Wall -Werror -I. +LDFLAGS = -L. -lfunc -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 +hello: $(OBJS) libfunc.so + $(CC) -ohello $(OBJS) $(LDFLAGS) -libfunc.a: func1.o func2.o - $(CROSS_COMPILE)ar cr libfunc.a func1.o func2.o - $(CROSS_COMPILE)ranlib libfunc.a +hello-static: $(OBJS) libfunc.a + rm -f libfunc.so + $(CC) -o$@ $(OBJS) $(LDFLAGS) -func1.o: func1.c - $(CROSS_COMPILE)gcc -fPIC -g -c func1.c +%.c: %.o + $(CC) -c -o$@ $(CFLAGS) $< -func2.o: func2.c - $(CROSS_COMPILE)gcc -fPIC -g -c func2.c +libfunc.%: + $(MAKE) -f Makefile-lib $@ -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 +install: hello + $(MAKE) -f Makefile-lib install + cp $< /usr/bin/ clean: - rm -f hello hello2 *.o lib* + rm -f hello hello-static $(OBJS) + $(MAKE) -f Makefile-lib $@ -.PHONY: clean +.PHONY: install clean |
