makelib/config-linux-gnu.make
branchstx-8.0.0
changeset 224 212ec423a6ab
parent 194 0695650e9b20
child 225 76d6225ffad4
equal deleted inserted replaced
223:575d0458b5c0 224:212ec423a6ab
   111 USB_MAKE_TARGET=
   111 USB_MAKE_TARGET=
   112 
   112 
   113 MATRIXLOCK_DIR=$(TOP)/../exept/setup/ml
   113 MATRIXLOCK_DIR=$(TOP)/../exept/setup/ml
   114 MATRIXLOCK_LIB_ARG=-L$(MATRIXLOCK_DIR)/lib -lmxlin260 -lusb
   114 MATRIXLOCK_LIB_ARG=-L$(MATRIXLOCK_DIR)/lib -lmxlin260 -lusb
   115 
   115 
   116 NOSTDLIB=-nostdlib
       
   117 
       
   118 #
   116 #
   119 # an extra rule for shared objects
   117 # an extra rule for shared objects
   120 #
   118 #
   121 .SUFFIXES: .a .o .so
   119 .SUFFIXES: .a .o .so
   122 # use -nostdlib in combination with -lc -lgcc: we actually use some functions (like fstat) from libc (-lc)
       
   123 # and gcc (-lgcc) provides some low level routines that should be around
       
   124 .o.so:
   120 .o.so:
   125 	@-rm -f $*.so
   121 	@-rm -f $*.so
   126 	$(LD) $(NOSTDLIB) -shared $(LDFLAGS) -o $*.so $*.o $(LOCAL_SHARED_LIBS) $(EXTRA_SHARED_LIBS) -lc -lgcc
   122 	$(LD) -shared $(LDFLAGS) -o $*.so $*.o $(LOCAL_SHARED_LIBS) $(EXTRA_SHARED_LIBS)
   127 
   123 
   128 .a.so:
   124 .a.so:
   129 	rm -f $*.so
   125 	rm -f $*.so
   130 	rm -rf tmp.a.so
   126 	rm -rf tmp.a.so
   131 	mkdir tmp.a.so
   127 	mkdir tmp.a.so
   132 	cd tmp.a.so; $(AR) x ../$*.a
   128 	cd tmp.a.so; $(AR) x ../$*.a
   133 	@-rm -f $*.so
   129 	@-rm -f $*.so
   134 	$(LD) $(NOSTDLIB) -shared $(LDFLAGS) -o $*.so tmp.a.so/*.o $(LOCAL_SHARED_LIBS) $(EXTRA_SHARED_LIBS) -lc -lgcc
   130 	$(LD) -shared $(LDFLAGS) -o $*.so tmp.a.so/*.o $(LOCAL_SHARED_LIBS) $(EXTRA_SHARED_LIBS) 
   135 	rm -rf tmp.a.so
   131 	rm -rf tmp.a.so
   136 
   132 
   137 SHAREDLIBRULE=linuxSharedLib
   133 SHAREDLIBRULE=linuxSharedLib
   138 linuxSharedLib:
   134 linuxSharedLib:
   139 	@-rm -f $(LIB)
   135 	@-rm -f $(LIB)
   140 	$(LD) $(NOSTDLIB) -shared $(LDFLAGS) -o $(LIB) $(OBJS) $(LOCAL_SHARED_LIBS) $(EXTRA_SHARED_LIBS) -lc -lgcc
   136 	$(LD) -shared $(LDFLAGS) -o $(LIB) $(OBJS) $(LOCAL_SHARED_LIBS) $(EXTRA_SHARED_LIBS) 
   141 
   137 
   142 #.st.s2:
   138 #.st.s2:
   143 #       $(STC) $(STCFLAGS) $(CFLAGS) -C $*.st
   139 #       $(STC) $(STCFLAGS) $(CFLAGS) -C $*.st
   144 #       $(CC) $(CFLAGS) -S $*.c
   140 #       $(CC) $(CFLAGS) -S $*.c
   145 #       @-echo " stripping off useless .align directives ..."
   141 #       @-echo " stripping off useless .align directives ..."