| > <<< Note 4494.0 by WHAMMY::SPODARYK "digging for fire" >>>
> -< Archival tool for object libraries? >-
>
> Are there any tools available for creating linkable libraries for the Amiga?
> Alib (Fish #3) has some very basic functionality, but has some bugs which
> I don't really want to track down.
>
> What I'm looking for is unix 'ar'/'ranlib' functionality, or a subset of
> VMS LIBRARY/*. Currently, I can 'join' many objects into one large object,
> and link with that (pseudo library). I'd like something that is
> integratable with SAS lmk, but that seems unlikely.
>
Have you looked at the SAS oml (object module librarian) that comes with
the compiler?
>
> Steve
>
john
|
| Well, 'oml' does all things it claims to, but it's not very well integrated
into 'lmk'. What I would like to be able to do is delete .o files, once
they become part of a library - and have 'lmk' be able to manage it's
dependencies based on the library. As I see it now, you need to leave the
objects hanging around so that the sources can be compared to them during the
next build.
Using Ultrix make, you can do something along these lines:
#
library=foo.a
# compile sourcefile
.c.o:
$(CC) -c $(CFLAGS) $<
# compile/include object into library
.c.a:
$(CC) -c $(CFLAGS) $<
$(AR) r $@ $*.o
@$(RM) -f $*.o
# dependencies - THIS is what I need. Some type of library/obj relationship
$(library):\
$(library)(object1.o)\
$(library)(object2.o)\
$(library)(object3.o)
ranlib $@
object1.o: object1.c
object2.o: object2.c
object3.o: object3.c
Leaving the objects around, kind of defeats part of the purpose of an object
library. (As well as doubling the disk space needed)
The 'lmk -x' (unix compatibility) doesn't seem to be much help here.
Maybe some of the GNU tools might be useful, or I'll call SAS and see
if that might be a possible enhancement.
Steve
|