head	1.1;
branch	1.1.1;
access;
symbols
	LIBC_4_5_19:1.1.1.4
	LIBC_4_5_18:1.1.1.4
	LIBC_4_5_17:1.1.1.4
	LIBC_4_5_16:1.1.1.4
	LIBC_4_5_15:1.1.1.4
	LIBC_4_5_14:1.1.1.3
	LIBC_4_5_13:1.1.1.3
	LIBC_4_5_12:1.1.1.3
	LIBC_4_5_11:1.1.1.3
	LIBC_4_5_10:1.1.1.2
	LIBC_4_5_9:1.1.1.1
	LIBC_4_5_8:1.1.1.1
	LIBC_4_5_7:1.1.1.1
	LIBC:1.1.1;
locks; strict;
comment	@# @;


1.1
date	93.12.14.16.58.52;	author steinber;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	93.12.14.16.58.53;	author steinber;	state Exp;
branches;
next	1.1.1.2;

1.1.1.2
date	94.01.13.12.16.31;	author steinber;	state Exp;
branches;
next	1.1.1.3;

1.1.1.3
date	94.01.19.16.23.53;	author steinber;	state Exp;
branches;
next	1.1.1.4;

1.1.1.4
date	94.02.01.13.48.22;	author steinber;	state Exp;
branches;
next	;


desc
@@



1.1
log
@Initial revision
@
text
@#

include ../../Makeconfig

clean:
	$(RM) -f *.s
@


1.1.1.1
log
@LIBC_4_5_7
@
text
@@


1.1.1.2
log
@LIBC_4_5_10
@
text
@d5 2
a6 93
JUMP_DIR:=$(SRCDIR)/jump/libm

JUMP_PARAMS=$(JUMP_DIR)/jump.params.build
SHLIB_NAME:= $(shell awk -F= ' { if ($$1 == "Name")  print $$2 }' $(JUMP_PARAMS))
SHLIB_TEXT:= $(shell awk -F= ' { if ($$1 == "Text")  print $$2 }' $(JUMP_PARAMS))
SHLIB_DATA:= $(shell awk -F= ' { if ($$1 == "Data")  print $$2 }' $(JUMP_PARAMS))
SHLIB_JUMP:= $(shell awk -F= ' { if ($$1 == "Jump")  print $$2 }' $(JUMP_PARAMS))
SHLIB_GOT:= $(shell awk -F= ' { if ($$1 == "GOT")  print $$2 }' $(JUMP_PARAMS))
SHLIB_VERSION:= $(shell awk -F= ' { if ($$1 == "Version")  print $$2 }' $(JUMP_PARAMS))

SHLIB_VERSION_MAJOR:=$(shell awk -F= ' { \
  if ($$1 == "Version") { \
    for (i = 1; i <= length ($$2); i++) { \
      if (substr ($$2, i, 1) == ".") { \
	print substr ($$2, 1, i - 1); break; \
      } } } } ' $(JUMP_PARAMS))

SHLIB_FILE:=$(basename $(SHLIB_NAME)).so.$(SHLIB_VERSION)

SHLIB_FILE_MAJOR:=$(basename $(SHLIB_NAME)).so.$(SHLIB_VERSION_MAJOR)

SYSLIBS:= $(SHARED_DIR)/gcc/libgcc3.a \
	-lc $(SRCDIR)/libmalias.a

STUBNAMES=libm
STUBLIBS:= $(foreach lib, $(STUBNAMES), $(lib).sa)
SHLIBS:= $(foreach lib, $(STUBNAMES), $(lib).a)

all lib:
	(cd $(SRCDIR); for l in *.a; do \
	 $(AR) -d $$l __.SYMDEF; \
	 $(REALRANLIB) $$l; done)
	(cd $(SHARED_DIR); for l in *.a; do \
	 $(AR) -d $$l __.SYMDEF; \
	 $(REALRANLIB) $$l; done)
	$(MKIMAGE) -l $(SHLIB_NAME) -v $(SHLIB_VERSION) -a $(SHLIB_TEXT) \
		-d $(SHLIB_DATA) -j $(SHLIB_JUMP)  -g $(SHLIB_GOT) \
		-- $(SHLIBS:%=$(SHARED_DIR)/%) $(SYSLIBS)
	$(MKSTUBS) -l $(SHLIB_NAME) -v $(SHLIB_VERSION) -a $(SHLIB_TEXT) \
		-d $(SHLIB_DATA) -j $(SHLIB_JUMP)  -g $(SHLIB_GOT) \
		-- $(STUBNAMES)
	$(VERIFY) -l $(SHLIB_FILE) $(STUBLIBS)
	mv $(SHLIB_FILE) lib.so # do this trick for stupid fs
	$(STRIP) lib.so
	mv lib.so $(SHLIB_FILE)
	if [ -d tmpcopy ]; then $(RM) -f ./tmpcopy/*; \
	else mkdir tmpcopy; fi; \
	(cd ./tmpcopy ;\
	   $(AR) -x ../../../libmalias.a ; $(AR) $(AR_FLAGS) ../libm.sa *.o ;\
	 cd ..; $(RM) -rf ./tmpcopy;)
	for l in *.sa; do \
	  $(AR) -d $$l __.SYMDEF; \
	  $(REALRANLIB) $$l; \
	done

realclean clean:
	$(RM) -f core *.o *.s *.sa *.so.* *.a verify.out *.log

ifeq ($(TARGET_LIB_DIR),/lib)

install:
	if [ ! -d $(TARGET_LIB_DIR) ]; then \
	  $(MKDIR) $(TARGET_LIB_DIR); \
	else true; fi
	cp $(STUBLIBS) $(TARGET_LIB_DIR)
	if [ ! -d $(TARGET_SO_DIR) ]; then \
	  $(MKDIR) $(TARGET_SO_DIR); \
	else true; fi
	if [ -f $(TARGET_SO_DIR)/$(SHLIB_FILE) ]; then \
	  (cd $(TARGET_SO_DIR); \
	   cp $(SHLIB_FILE) /tmp; \
	   if [ $$? -eq 0 ]; then \
	     ln -sf /tmp/$(SHLIB_FILE) $(SHLIB_FILE_MAJOR); \
	   else exit 1; fi; \
	   mv $(SHLIB_FILE) $(SHLIB_FILE_MAJOR).old); \
	else true; fi
	cp $(SHLIB_FILE) $(TARGET_SO_DIR)
	(cd $(TARGET_SO_DIR); \
	   ln -sf $(SHLIB_FILE) $(SHLIB_FILE_MAJOR))

else

install:
	if [ ! -d $(TARGET_LIB_DIR) ]; then \
	  $(MKDIR) $(TARGET_LIB_DIR); \
	else true; fi
	cp $(STUBLIBS) $(TARGET_LIB_DIR)
	if [ ! -d $(TARGET_SO_DIR) ]; then \
	  $(MKDIR) $(TARGET_SO_DIR); \
	else true; fi
	cp $(SHLIB_FILE) $(TARGET_SO_DIR)

endif
@


1.1.1.3
log
@LIBC_4_5_11
@
text
@d3 1
a3 1
TOPDIR=../..
d5 1
a5 1
include $(TOPDIR)/Makeconfig
a6 2
JUMP_DIR:=$(TOPDIR)/jump/libm

d26 2
a27 2
SYSLIBS:= $(SHARED_DIR)/libgcc/libgcc3.a \
	-lc $(TOPDIR)/libmalias.a
d34 1
a34 1
	(cd $(TOPDIR); for l in *.a; do \
@


1.1.1.4
log
@LIBC_4_5_15
@
text
@d65 1
a65 1
ifeq ($(TARGET_SO_DIR),/lib)
@
