--- makefile.shared +++ makefile.shared @@ -3,7 +3,8 @@ #Tom St Denis VERSION=0:41 -CC = libtool --mode=compile --tag=CC gcc +LT ?= libtool +LTCOMPILE = $(LT) --mode=compile --tag=CC $(CC) CFLAGS += -I./ -Wall -W -Wshadow -Wsign-compare @@ -82,21 +83,24 @@ objs: $(OBJECTS) +%.lo: %.c + $(LTCOMPILE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< + -$(LIBNAME): $(OBJECTS) - libtool --mode=link gcc *.lo -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION) +$(LIBNAME): $(OBJECTS:.o=.lo) + $(LT) --mode=link --tag=CC $(CC) $(CFLAGS) $(LDFLAGS) *.lo -o $(LIBNAME) -rpath $(LIBPATH) -version-info $(VERSION) install: $(LIBNAME) - install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(LIBPATH) - libtool --mode=install install -c $(LIBNAME) $(DESTDIR)$(LIBPATH)/$(LIBNAME) - install -d -g $(GROUP) -o $(USER) $(DESTDIR)$(INCPATH) - install -g $(GROUP) -o $(USER) $(HEADERS) $(DESTDIR)$(INCPATH) + install -d $(DESTDIR)$(LIBPATH) + $(LT) --mode=install install -c $(LIBNAME) $(DESTDIR)$(LIBPATH)/$(LIBNAME) + install -d $(DESTDIR)$(INCPATH) + install -m 644 $(HEADERS) $(DESTDIR)$(INCPATH) test: $(LIBNAME) demo/demo.o - gcc $(CFLAGS) -c demo/demo.c -o demo/demo.o - libtool --mode=link gcc -o test demo/demo.o $(LIBNAME_S) + $(CC) $(CFLAGS) $(CPPFLAGS) -c demo/demo.c -o demo/demo.o + $(LT) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o test demo/demo.o $(LIBNAME_S) mtest: test - cd mtest ; gcc $(CFLAGS) mtest.c -o mtest + cd mtest ; $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) mtest.c -o mtest timing: $(LIBNAME) - gcc $(CFLAGS) -DTIMER demo/timing.c $(LIBNAME_S) -o ltmtest + $(LT) --mode=link $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -DTIMER demo/timing.c $(LIBNAME_S) -o ltmtest