makelib/config-linux-gnu.make
branchstx-8.0.0
changeset 225 76d6225ffad4
parent 224 212ec423a6ab
child 226 67883ba3bd17
equal deleted inserted replaced
224:212ec423a6ab 225:76d6225ffad4
   110 USB_LIB_DIR_ARG=-L/usr/lib
   110 USB_LIB_DIR_ARG=-L/usr/lib
   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 
       
   116 #
       
   117 # an extra rule for shared objects
       
   118 #
       
   119 .SUFFIXES: .a .o .so
       
   120 .o.so:
       
   121 	@-rm -f $*.so
       
   122 	$(LD) -shared $(LDFLAGS) -o $*.so $*.o $(LOCAL_SHARED_LIBS) $(EXTRA_SHARED_LIBS)
       
   123 
       
   124 .a.so:
       
   125 	rm -f $*.so
       
   126 	rm -rf tmp.a.so
       
   127 	mkdir tmp.a.so
       
   128 	cd tmp.a.so; $(AR) x ../$*.a
       
   129 	@-rm -f $*.so
       
   130 	$(LD) -shared $(LDFLAGS) -o $*.so tmp.a.so/*.o $(LOCAL_SHARED_LIBS) $(EXTRA_SHARED_LIBS) 
       
   131 	rm -rf tmp.a.so
       
   132 
       
   133 SHAREDLIBRULE=linuxSharedLib
       
   134 linuxSharedLib:
       
   135 	@-rm -f $(LIB)
       
   136 	$(LD) -shared $(LDFLAGS) -o $(LIB) $(OBJS) $(LOCAL_SHARED_LIBS) $(EXTRA_SHARED_LIBS) 
       
   137 
       
   138 #.st.s2:
       
   139 #       $(STC) $(STCFLAGS) $(CFLAGS) -C $*.st
       
   140 #       $(CC) $(CFLAGS) -S $*.c
       
   141 #       @-echo " stripping off useless .align directives ..."
       
   142 #       sed "/.align 4/d" < $*.s > $*.s2
       
   143 
       
   144 #.SUFFIXES: .s2 .s3
       
   145 #
       
   146 #.s2.s3:
       
   147 #       @-echo "   removing useless jumps ..."
       
   148 #       awk -f $(TOP)/rules/i386.script.awk < $*.s2 > $*.s3
       
   149 
       
   150 #
       
   151 # extra rules for space-optimized/speed-optimized modules modules
       
   152 #
       
   153 .SUFFIXES: .st .spc .spd
       
   154 
       
   155 .st.spc:
       
   156 	$(MAKE) STC_OPT="$(STC_OPT)" OPT="$(OPT)" STCOPT="$(STCOPT)" STFILE=$* KEEP=y __SPACEOPT_O_RULE__
       
   157 
       
   158 .st.spd:
       
   159 	$(MAKE) STC_OPT="$(STC_OPT)" OPT="$(OPT)" STCOPT="$(STCOPT)" STFILE=$* KEEP=y __SPEEDOPT_O_RULE__
       
   160 
       
   161 VERYBIG_STFILE_RULE=__VERYBIG_RULE__
       
   162 __VERYBIG_RULE__:
       
   163 	$(MAKE) $(O_RULE) STFILE=$(BIG_FILE) CC="$(CC)" STC_OPT="$(STC_OPT) -Os" OPT="$(OPT) -Os" SEPINITCODE="$(SEPINITCODE)"
       
   164 
       
   165 LONGNAME_RULE=__NORMAL_RULE2__
       
   166 __NORMAL_RULE2__:
       
   167 	$(MAKE) $(O_RULE) STFILE=$(LONGNAME_FILE) CC="$(CC)" STC_OPT="$(STC_OPT)" OPT="$(OPT)" SEPINITCODE="$(SEPINITCODE)"
       
   168 
       
   169 
       
   170 #AWK_VERBOSE=1
       
   171 AWK_DIFF=
       
   172 AWK_FIX=$(TOP)/rules/i386fixELF.awk
       
   173 
       
   174 SPACEOPT_O_RULE=__SPACEOPT_O_RULE__
       
   175 __SPACEOPT_O_RULE__:
       
   176 	@$(MAKE) STC=$(STC) CC=$(CC) STCOPT="$(STCOPT)" SEPINITCODE="$(SEPINITCODE)" $(STFILE).s
       
   177 	@-if [ -f $(STFILE).s ]; then \
       
   178 	    awk -f $(AWK_FIX) < $(STFILE).s > $(STFILE).s2; \
       
   179 	    if [ "$(AWK_DIFF)" != "" ]; then \
       
   180 		diff $(STFILE).s $(STFILE).s2; \
       
   181 	    fi; \
       
   182 	    if [ "$(AWK_VERBOSE)" != "" ]; then \
       
   183 		echo "# optimized $(STFILE).s -> $(STFILE).s2"; \
       
   184 		tail -5 $(STFILE).s2; \
       
   185 		echo; \
       
   186 	    fi; \
       
   187 	    $(AS) $(ASFLAGS) -o $(STFILE).o $(STFILE).s2; \
       
   188 	fi
       
   189 	@-if [ -f i_$(STFILE).s ]; then \
       
   190 	    awk -f $(AWK_FIX) < i_$(STFILE).s > i_$(STFILE).s2; \
       
   191 	    if [ "$(AWK_DIFF)" != "" ]; then \
       
   192 		diff i_$(STFILE).s i_$(STFILE).s2; \
       
   193 	    fi; \
       
   194 	    if [ "$(AWK_VERBOSE)" != "" ]; then \
       
   195 		echo "# optimized i_$(STFILE).s -> i_$(STFILE).s2"; \
       
   196 		tail -5 i_$(STFILE).s2; \
       
   197 		echo; \
       
   198 	    fi; \
       
   199 	    $(AS) $(ASFLAGS) -o i_$(STFILE).o i_$(STFILE).s2; \
       
   200 	fi
       
   201 	@if [ "$(KEEP)" != "y" ]; then \
       
   202 	    rm -f $(STFILE).s $(STFILE).s2 i_$(STFILE).s i_$(STFILE).s2; \
       
   203 	fi
       
   204 
       
   205 
       
   206 .SUFFIXES: .st .s2
       
   207 
       
   208 .st.s2:
       
   209 	@$(MAKE) $(SPEEDOPT_O_RULE) STCOPT="$(STCOPT)" KEEP=y STFILE=$* SEPINITCODE="$(SEPINITCODE)"
       
   210 
       
   211 SPEEDOPT_O_RULE=__SPEEDOPT_O_RULE__
       
   212 __SPEEDOPT_O_RULE__:
       
   213 	@$(MAKE) STC=$(STC) CC=$(CC) STCOPT="$(STCOPT)" SEPINITCODE="$(SEPINITCODE)" $(STFILE).s
       
   214 	@-if [ -f $(STFILE).s ]; then \
       
   215 	    awk -f $(AWK_FIX) < $(STFILE).s > $(STFILE).s2; \
       
   216 	    if [ "$(AWK_DIFF)" != "" ]; then \
       
   217 		diff $(STFILE).s $(STFILE).s2; \
       
   218 	    fi; \
       
   219 	    if [ "$(AWK_VERBOSE)" != "" ]; then \
       
   220 		echo "# optimized $(STFILE).s -> $(STFILE).s2"; \
       
   221 		tail -5 $(STFILE).s2; \
       
   222 		echo; \
       
   223 	    fi; \
       
   224 	    $(AS) $(ASFLAGS) -o $(STFILE).o $(STFILE).s2; \
       
   225 	fi
       
   226 	@-if [ -f i_$(STFILE).s ]; then \
       
   227 	    awk -f $(AWK_FIX) < i_$(STFILE).s > i_$(STFILE).s2; \
       
   228 	    if [ "$(AWK_DIFF)" != "" ]; then \
       
   229 		diff i_$(STFILE).s i_$(STFILE).s2; \
       
   230 	    fi; \
       
   231 	    if [ "$(AWK_VERBOSE)" != "" ]; then \
       
   232 		echo "# optimized i_$(STFILE).s -> i_$(STFILE).s2"; \
       
   233 		tail -5 i_$(STFILE).s2; \
       
   234 		echo; \
       
   235 	    fi; \
       
   236 	    $(AS) $(ASFLAGS) -o i_$(STFILE).o i_$(STFILE).s2; \
       
   237 	fi
       
   238 	@if [ "$(KEEP)" != "y" ]; then \
       
   239 	    rm -f $(STFILE).s $(STFILE).s2 i_$(STFILE).s i_$(STFILE).s2; \
       
   240 	fi
       
   241 
       
   242 O_RULE=$(SPEEDOPT_O_RULE)
       
   243 
       
   244 #------------------ end of linux-elf/COMMON/defines ---------------------
   115 #------------------ end of linux-elf/COMMON/defines ---------------------