61 lines
1.7 KiB
Makefile
61 lines
1.7 KiB
Makefile
TARGETS = $(OBJDIR)libtest.a $(OBJDIR)libtest$(SOEXT).0.0 $(OBJDIR)libtest$(SOEXT).0 $(OBJDIR)libtest$(SOEXT)
|
|
OBJDIR =
|
|
PREFIX = /usr/local
|
|
DESTDIR =
|
|
LIBDIR = $(PREFIX)/lib
|
|
LDFLAGS = -ldl -ltest
|
|
EXEEXT =
|
|
AR = ar
|
|
ARFLAGS = -rc
|
|
RANLIB = ranlib
|
|
CCSHARED= $(CC) -shared
|
|
SOEXT = .so
|
|
RM = rm -f
|
|
LN = ln -f
|
|
MKDIR = mkdir -m 0755 -p
|
|
INSTALL = install
|
|
|
|
|
|
all: $(TARGETS)
|
|
|
|
libtest_OBJS = $(OBJDIR)test.o
|
|
libtest_CFLAGS = $(CPPFLAGSF) $(CPPFLAGS) $(CFLAGSF) $(CFLAGS)
|
|
libtest_LDFLAGS = $(LDFLAGSF) $(LDFLAGS)
|
|
|
|
$(OBJDIR)libtest.a: $(libtest_OBJS) a.c b.c
|
|
$(AR) $(ARFLAGS) $(OBJDIR)libtest.a $(libtest_OBJS)
|
|
$(RANLIB) $(OBJDIR)libtest.a
|
|
|
|
$(OBJDIR)libtest$(SOEXT).0.0: $(libtest_OBJS) a.c b.c
|
|
$(CCSHARED) -o $(OBJDIR)libtest$(SOEXT).0.0 -Wl,-soname,libtest$(SOEXT).0 $(libtest_OBJS) $(libtest_LDFLAGS)
|
|
|
|
$(OBJDIR)libtest$(SOEXT).0: $(OBJDIR)libtest$(SOEXT).0.0
|
|
$(LN) -s -- libtest$(SOEXT).0.0 $(OBJDIR)libtest$(SOEXT).0
|
|
|
|
$(OBJDIR)libtest$(SOEXT): $(OBJDIR)libtest$(SOEXT).0.0
|
|
$(LN) -s -- libtest$(SOEXT).0.0 $(OBJDIR)libtest$(SOEXT)
|
|
|
|
$(OBJDIR)test.o: test.c
|
|
$(CC) $(libtest_CFLAGS) -o $(OBJDIR)test.o -c test.c
|
|
|
|
clean:
|
|
$(RM) -- $(libtest_OBJS)
|
|
|
|
distclean: clean
|
|
$(RM) -- $(TARGETS)
|
|
|
|
install: $(TARGETS)
|
|
$(MKDIR) $(DESTDIR)$(LIBDIR)
|
|
$(INSTALL) -m 0644 $(OBJDIR)libtest.a $(DESTDIR)$(LIBDIR)/libtest.a
|
|
$(INSTALL) -m 0755 $(OBJDIR)libtest$(SOEXT).0.0 $(DESTDIR)$(LIBDIR)/libtest$(SOEXT).0.0
|
|
$(LN) -s -- libtest$(SOEXT).0.0 $(DESTDIR)$(LIBDIR)/libtest$(SOEXT).0
|
|
$(LN) -s -- libtest$(SOEXT).0.0 $(DESTDIR)$(LIBDIR)/libtest$(SOEXT)
|
|
|
|
uninstall:
|
|
$(RM) -- $(DESTDIR)$(LIBDIR)/libtest.a
|
|
$(RM) -- $(DESTDIR)$(LIBDIR)/libtest$(SOEXT).0.0
|
|
$(RM) -- $(DESTDIR)$(LIBDIR)/libtest$(SOEXT).0
|
|
$(RM) -- $(DESTDIR)$(LIBDIR)/libtest$(SOEXT)
|
|
|
|
.PHONY: all clean distclean install uninstall
|