Changeset cecba66e in mainline for uspace/Makefile.common


Ignore:
Timestamp:
2017-11-08T00:39:43Z (6 years ago)
Author:
jzr <zarevucky.jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
6d15572
Parents:
c631734
Message:

Instead of using library paths directly, refer to libraries by name and let the build script take care of compiler arguments.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/Makefile.common

    rc631734 rcecba66e  
    112112
    113113LIBPOSIX_PREFIX = $(LIB_PREFIX)/posix
    114 
    115 LIBCRYPTO_PREFIX = $(LIB_PREFIX)/crypto
    116 LIBBLOCK_PREFIX = $(LIB_PREFIX)/block
    117 LIBFDISK_PREFIX = $(LIB_PREFIX)/fdisk
    118 LIBLABEL_PREFIX = $(LIB_PREFIX)/label
    119 LIBFS_PREFIX = $(LIB_PREFIX)/fs
    120 LIBCLUI_PREFIX = $(LIB_PREFIX)/clui
    121 LIBFMTUTIL_PREFIX = $(LIB_PREFIX)/fmtutil
    122 
    123 LIBGRAPH_PREFIX = $(LIB_PREFIX)/graph
    124 LIBSOFTREND_PREFIX = $(LIB_PREFIX)/softrend
    125 LIBDRAW_PREFIX = $(LIB_PREFIX)/draw
    126 LIBGUI_PREFIX = $(LIB_PREFIX)/gui
    127 
    128 LIBEXT4_PREFIX = $(LIB_PREFIX)/ext4
    129 
    130 LIBUSB_PREFIX = $(LIB_PREFIX)/usb
    131 LIBUSBHOST_PREFIX = $(LIB_PREFIX)/usbhost
    132 LIBUSBDEV_PREFIX = $(LIB_PREFIX)/usbdev
    133 LIBUSBHID_PREFIX = $(LIB_PREFIX)/usbhid
    134 LIBUSBVIRT_PREFIX = $(LIB_PREFIX)/usbvirt
    135 
    136 LIBDRV_PREFIX = $(LIB_PREFIX)/drv
    137 LIBHOUND_PREFIX = $(LIB_PREFIX)/hound
    138 LIBPCM_PREFIX = $(LIB_PREFIX)/pcm
    139 LIBNIC_PREFIX = $(LIB_PREFIX)/nic
    140 LIBIEEE80211_PREFIX = $(LIB_PREFIX)/ieee80211
    141 LIBMINIX_PREFIX = $(LIB_PREFIX)/minix
    142 LIBCOMPRESS_PREFIX = $(LIB_PREFIX)/compress
    143114LIBDLTEST_PREFIX = $(LIB_PREFIX)/dltest
    144 
    145 LIBSCSI_PREFIX = $(LIB_PREFIX)/scsi
    146 LIBTRACKMOD_PREFIX = $(LIB_PREFIX)/trackmod
    147 
    148 LIBBITHENGE_PREFIX = $(LIB_PREFIX)/bithenge
    149 
    150 LIBHTTP_PREFIX = $(LIB_PREFIX)/http
    151 LIBURI_PREFIX = $(LIB_PREFIX)/uri
    152 
    153 LIBNETTL_PREFIX = $(LIB_PREFIX)/nettl
    154115
    155116AFLAGS =
     
    205166endif
    206167
     168ifneq ($(LIBRARY),)
     169        INCLUDES_FLAGS += -Iinclude -I.
     170endif
     171
     172INCLUDES_FLAGS += $(foreach lib,$(LIBS), -I$(LIB_PREFIX)/$(lib) -I$(LIB_PREFIX)/$(lib)/include)
     173
    207174# PCUT-based unit tests
    208175ifneq ($(TEST_SOURCES),)
     
    286253DEPENDS := $(addsuffix .d,$(basename $(SOURCES))) $(addsuffix .test.d,$(basename $(TEST_SOURCES)))
    287254
     255LIBTAGS := $(foreach lib,$(LIBS), $(USPACE_PREFIX)/lib/$(lib)/tag)
     256LIBARGS := $(addprefix -L$(USPACE_PREFIX)/lib/, $(LIBS)) $(addprefix -l, $(LIBS))
     257
    288258-include $(DEPENDS)
    289259
    290260.PHONY: all all-test clean depend
    291261
    292 all: $(OUTPUTS)
     262all: tag $(OUTPUTS)
    293263
    294264all-test: $(TEST_OUTPUTS)
     
    298268
    299269depend: $(PRE_DEPEND)
     270
     271# "Tag" files are used to force relink of binaries when dependencies get rebuilt,
     272# regardless of whether the dependency was linked statically or dynamically,
     273# or which version of a dynamic library was used. Prerequisites for this file
     274# are defined further down.
     275tag:
     276        touch tag
    300277
    301278%.disasm: %
     
    307284
    308285ifneq ($(BINARY),)
    309 $(BINARY): $(LINKER_SCRIPT) $(OBJECTS) $(LIBS) $(BASE_LIBS)
    310         $(LD) $(LFLAGS) -T $(LINKER_SCRIPT) -Map $@.map -o $@ $(OBJECTS) $(LIBS) $(BASE_LIBS)
     286$(BINARY): $(LINKER_SCRIPT) $(OBJECTS) $(LIBTAGS) $(BASE_LIBS)
     287        $(LD) $(LFLAGS) -T $(LINKER_SCRIPT) -Map $@.map -o $@ $(OBJECTS) $(LIBARGS) $(BASE_LIBS)
    311288endif
    312289
    313290ifneq ($(TEST_BINARY),)
    314 $(TEST_BINARY): $(LINKER_SCRIPT) $(TEST_OBJECTS) $(TEST_BINARY_LIBS)
    315         $(LD) $(LFLAGS) -T $(LINKER_SCRIPT) -Map $@.map -o $@ $(TEST_OBJECTS) $(TEST_BINARY_LIBS) $(LIBS) $(BASE_LIBS)
     291$(TEST_BINARY): $(LINKER_SCRIPT) $(TEST_OBJECTS) $(TEST_BINARY_LIBS) $(LIBTAGS) $(BASE_LIBS)
     292        $(LD) $(LFLAGS) -T $(LINKER_SCRIPT) -Map $@.map -o $@ $(TEST_OBJECTS) $(TEST_BINARY_LIBS) $(LIBARGS) $(BASE_LIBS)
    316293endif
    317294
    318295ifneq ($(LIBRARY),)
     296tag: $(LIBRARY).a
     297
    319298$(LIBRARY).a: $(OBJECTS)
    320299        $(AR) rc $@ $(OBJECTS)
     
    322301
    323302ifneq ($(SLIBRARY),)
     303tag: $(SLIBRARY)
     304
    324305$(LIBRARY).la: $(LOBJECTS)
    325306        $(AR) rc $@ $(LOBJECTS)
Note: See TracChangeset for help on using the changeset viewer.