rendered paste body# Makefile for linking test programs
#CFLAGS = -fPIC -Wall -ansi -pedantic
CFLAGS = -Wall -std=c99 -pedantic
#############################################################################
all: static dynamic
static: program-s
dynamic: program-d
#############################################################################
program-s: prog.o m1.o libtest.a
$(CC) $(CFLAGS) -o program-s -static prog.o m1.o -L. -ltest
program-d: prog.o m1.o libtest.so
$(CC) $(CFLAGS) -o program-d prog.o m1.o -L. -ltest
# create static library
libtest.a: m2.o m3.o m4.o
ar crs libtest.a m2.o m3.o m4.o
# create shared library
libtest.so: m2.o m3.o m4.o
$(CC) $(CFLAGS) -shared -o libtest.so m2.o m3.o m4.o
#############################################################################
run: program-s program-d
./program-s
LD_LIBRARY_PATH="." ./program-d
pack:
tar czvf ijc-link-example.tar.gz Makefile *.c *.h
clean:
rm -f *.o program-s program-d program libtest.a libtest.so
############################################################################