Changeset 143932e in mainline


Ignore:
Timestamp:
2011-03-22T21:23:10Z (13 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ec3e2ed
Parents:
04803bf
Message:

Add rules for building shared libraries to uspace/Makefile.common.
Add missing header file. dltest2 now passes.

Location:
uspace
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/Makefile.common

    r04803bf r143932e  
    7373endif
    7474
     75ifneq ($(SLIBRARY),)
     76        LARCHIVE = $(LIBRARY).la
     77        LOUTPUT = $(SLIBRARY)
     78        EXTRA_CLEAN += $(LOUTPUT).map $(LIBC_PREFIX)/shared/arch/$(UARCH)/_lib.ld
     79endif
     80
    7581DEPEND = Makefile.depend
    7682DEPEND_PREV = $(DEPEND).prev
     
    102108.PHONY: all clean
    103109
    104 all: $(VERSION_DEF) $(COMMON_MAKEFILE) $(CONFIG_MAKEFILE) $(CONFIG_HEADER) $(LIBS) $(OUTPUT) $(EXTRA_OUTPUT)
     110all: $(VERSION_DEF) $(COMMON_MAKEFILE) $(CONFIG_MAKEFILE) $(CONFIG_HEADER) $(LIBS) $(OUTPUT) $(LOUTPUT) $(EXTRA_OUTPUT)
    105111        -[ -f $(DEPEND) ] && cp -a $(DEPEND) $(DEPEND_PREV)
    106112
    107113clean:
    108         rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(EXTRA_OUTPUT) $(EXTRA_CLEAN)
     114        rm -f $(DEPEND) $(DEPEND_PREV) $(JOB) $(OUTPUT) $(LARCHIVE) $(LOUTPUT) $(EXTRA_OUTPUT) $(EXTRA_CLEAN)
    109115        find . -name '*.o' -follow -exec rm \{\} \;
     116        find . -name '*.lo' -follow -exec rm \{\} \;
    110117
    111118GCC_CFLAGS = -I$(LIBC_PREFIX)/include -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \
     
    130137        -pipe -g -arch $(CLANG_ARCH) -D__$(ENDIANESS)__
    131138
     139LIB_CFLAGS = $(CFLAGS) -fPIC -D__IN_SHARED_LIBC__
     140LIB_LFLAGS = $(LFLAGS) -shared -soname $(LSONAME) --whole-archive
     141
    132142ifeq ($(CONFIG_DEBUG),y)
    133143        GCC_CFLAGS += -Werror
     
    175185
    176186OBJECTS := $(addsuffix .o,$(basename $(SOURCES)))
     187LOBJECTS := $(addsuffix .lo,$(basename $(SOURCES)))
    177188
    178189ifneq ($(BINARY),)
     
    191202endif
    192203
     204$(LOUTPUT): $(LARCHIVE) $(LIBC_PREFIX)/shared/arch/$(UARCH)/_lib.ld
     205        $(LD) -T $(LIBC_PREFIX)/shared/arch/$(UARCH)/_lib.ld $(LIB_LFLAGS) $(LARCHIVE) -o $@ -Map $(LOUTPUT).map
     206
     207$(LIBC_PREFIX)/shared/arch/$(UARCH)/_lib.ld: $(LIBC_PREFIX)/shared/arch/$(UARCH)/_lib.ld.in
     208        $(CC) $(DEFS) $(CFLAGS) -DLIBC_PREFIX=$(LIBC_PREFIX) -E -x c $< | grep -v "^\#" > $@
     209
    193210ifneq ($(LIBRARY),)
    194211%.a: $(OBJECTS)
     
    196213endif
    197214
     215ifneq ($(SLIBRARY),)
     216%.la: $(LOBJECTS)
     217        $(AR) rc $@ $(LOBJECTS)
     218endif
     219
    198220%.o: %.S $(DEPEND)
    199221        $(CC) $(DEFS) $(CFLAGS) -D__ASM__ -c $< -o $@
     
    210232%.o: %.c $(DEPEND)
    211233        $(CC) $(DEFS) $(CFLAGS) -c $< -o $@
     234ifeq ($(PRECHECK),y)
     235        $(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
     236endif
     237
     238%.lo: %.c $(DEPEND)
     239        $(CC) $(DEFS) $(LIB_CFLAGS) -c $< -o $@
    212240ifeq ($(PRECHECK),y)
    213241        $(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS)
     
    223251$(OUTPUT): $(OBJECTS)
    224252
     253$(LARCHIVE): $(LOBJECTS)
  • uspace/lib/libtest/Makefile

    r04803bf r143932e  
    2929USPACE_PREFIX = ../..
    3030LIBRARY = libtest
     31SLIBRARY = libtest.so.0.0
     32LSONAME = libtest.so.0
    3133
    3234SOURCES = \
  • uspace/lib/libtest/libtest.so.0

    r04803bf r143932e  
    1 libtest.so
     1libtest.so.0.0
Note: See TracChangeset for help on using the changeset viewer.