]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/netapi.git/blobdiff - ti/runtime/netapi/build/Makefile
Added shared object library support, updated release version.
[keystone-rtos/netapi.git] / ti / runtime / netapi / build / Makefile
index 46bb3ec164060e537c6b48008319698f337b723d..62f27ac3f6d23e6c397a4908005479cb5e23dd50 100755 (executable)
@@ -34,12 +34,6 @@ QMSS_DEV_DIR = $(PDK_INSTALL_PATH)/ti/drv/qmss/device
 CPPI_DEV_DIR = $(PDK_INSTALL_PATH)/ti/drv/cppi/device
 endif
 
-# Output for prebuilt generated libraries
-export ARMV7LIBDIR ?= ./lib
-export ARMV7OBJDIR ?= ./obj
-ARMV7OBJDIR := $(ARMV7OBJDIR)/netapi/lib
-ARMV7BINDIR ?= ./bin
-
 # Set NETAPI INSTALL PATH to Transport SDK for default
 export NETAPI_INSTALL_PATH ?= $(TRANS_SDK_INSTALL_PATH)
 
@@ -86,22 +80,40 @@ lib: $(ARMV7LIBDIR)/libnetapi.a
 
 
 # Make Rule for the COMMONSRC Files
-COMMONSRCCOBJS = $(patsubst %.c, $(ARMV7OBJDIR)/netapi/lib/%.$(OBJEXT), $(COMMONSRCC))
+COMMONSRCCOBJS = $(patsubst %.c, $(ARMV7OBJDIR)/%.$(OBJEXT), $(COMMONSRCC))
+COMMONSRCCOBJS_SO = $(patsubst %.c, $(ARMV7OBJDIR_SO)/%.$(OBJEXT), $(COMMONSRCC))
 
-$(COMMONSRCCOBJS): $(ARMV7OBJDIR)/netapi/lib/%.$(OBJEXT): %.c
+$(COMMONSRCCOBJS): $(ARMV7OBJDIR)/%.$(OBJEXT): %.c
        -@echo compiling $< ........
        -@echo vpath = $(VPATH)
-       @mkdir -p $(ARMV7OBJDIR)/netapi/lib/
+       @mkdir -p $(ARMV7OBJDIR)
        $(CC) -c $(CFLAGS) $(INCS)  $< -o $@
 
+$(COMMONSRCCOBJS_SO): $(ARMV7OBJDIR_SO)/%.$(OBJEXT): %.c
+       -@echo **** compiling this file $< ...
+       @mkdir -p $(ARMV7OBJDIR_SO)
+       $(CC) -c $(CFLAGS) -fPIC $(INCS)  $< -o $@
+
 $(ARMV7LIBDIR)/libnetapi.a: $(COMMONSRCCOBJS)
        @mkdir -p $(ARMV7LIBDIR)
        @echo archiving $? into $@ ...
        @$(AR) -r $@ $?
 
+
+libnetapi.so: $(COMMONSRCCOBJS_SO)
+       -@echo archiving $? into $(ARMV7LIBDIR)/$@.1 ...
+       @$(CC) $(DEBUG_FLAG) -ggdb2 -Wl,-soname=$@.1 -shared -fPIC ${LDFLAGS} -o $@.1.0.0 $^
+       @ln -s $@.1.0.0 $@.1
+       @ln -s $@.1     $@
+       @mv -f $@.1.0.0 $(ARMV7LIBDIR)/$@.1.0.0
+       @mv -f $@.1 $(ARMV7LIBDIR)/$@.1
+       @mv -f $@   $(ARMV7LIBDIR)/$@
+
 clean:
-       rm -f $(ARMV7OBJDIR)/netapi/lib/*.o
+       rm -f $(ARMV7OBJDIR)/*.o
+       rm -f $(ARMV7OBJDIR_SO)/*.o
        rm -f $(ARMV7LIBDIR)/libnetapi.a
+       rm -f $(ARMV7LIBDIR)/libnetapi.so*
 
 doxygen:
        rm -rf $(NETAPI_DOCS_DIR)/html