Changes in uspace/Makefile.common [58563585:4fb794c] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/Makefile.common
r58563585 r4fb794c 44 44 # EXTRA_CLEAN additional cleanup targets 45 45 # 46 # MATH set to 'y' to use the math library47 46 # POSIX_COMPAT set to 'y' to use POSIX compatibility layer 48 47 # … … 78 77 JOB = $(BINARY).job 79 78 OUTPUT = $(BINARY) 80 TEST_BINARY = test-$(BINARY)81 79 EXTRA_OUTPUT += $(BINARY).disasm 82 80 EXTRA_CLEAN += $(BINARY).map … … 86 84 JOB = $(LIBRARY).job 87 85 OUTPUT = $(LIBRARY).a 88 TEST_BINARY = test-$(LIBRARY) 89 endif 90 91 ifeq ($(CONFIG_BUILD_SHARED_LIBS),y) 86 endif 87 88 ifeq ($(CONFIG_BUILD_SHARED_LIBS), y) 92 89 ifneq ($(SLIBRARY),) 93 90 LARCHIVE = $(LIBRARY).la … … 113 110 LIBSOFTINT_PREFIX = $(LIB_PREFIX)/softint 114 111 115 LIBMATH_PREFIX = $(LIB_PREFIX)/math116 LIBMATH_INCLUDES_FLAGS = \117 -I$(LIBMATH_PREFIX)/include \118 -I$(LIBMATH_PREFIX)/arch/$(UARCH)/include119 120 112 LIBPOSIX_PREFIX = $(LIB_PREFIX)/posix 121 113 122 LIBCRYPTO_PREFIX = $(LIB_PREFIX)/crypto123 114 LIBBLOCK_PREFIX = $(LIB_PREFIX)/block 124 LIBFDISK_PREFIX = $(LIB_PREFIX)/fdisk125 LIBLABEL_PREFIX = $(LIB_PREFIX)/label126 115 LIBFS_PREFIX = $(LIB_PREFIX)/fs 127 116 LIBCLUI_PREFIX = $(LIB_PREFIX)/clui … … 142 131 143 132 LIBDRV_PREFIX = $(LIB_PREFIX)/drv 144 LIBHOUND_PREFIX = $(LIB_PREFIX)/hound 145 LIBPCM_PREFIX = $(LIB_PREFIX)/pcm 133 LIBNET_PREFIX = $(LIB_PREFIX)/net 146 134 LIBNIC_PREFIX = $(LIB_PREFIX)/nic 147 LIBIEEE80211_PREFIX = $(LIB_PREFIX)/ieee80211148 135 LIBMINIX_PREFIX = $(LIB_PREFIX)/minix 149 LIBCOMPRESS_PREFIX = $(LIB_PREFIX)/compress150 LIBDLTEST_PREFIX = $(LIB_PREFIX)/dltest151 136 152 137 LIBSCSI_PREFIX = $(LIB_PREFIX)/scsi 153 LIBTRACKMOD_PREFIX = $(LIB_PREFIX)/trackmod154 138 155 139 LIBBITHENGE_PREFIX = $(LIB_PREFIX)/bithenge 156 157 LIBHTTP_PREFIX = $(LIB_PREFIX)/http158 LIBURI_PREFIX = $(LIB_PREFIX)/uri159 160 LIBNETTL_PREFIX = $(LIB_PREFIX)/nettl161 162 AFLAGS = --fatal-warnings163 LFLAGS = --fatal-warnings164 140 165 141 ifeq ($(STATIC_NEEDED),y) … … 169 145 STATIC_BUILD = y 170 146 else 171 ifeq ($(CONFIG_USE_SHARED_LIBS), y)147 ifeq ($(CONFIG_USE_SHARED_LIBS), y) 172 148 STATIC_BUILD = n 173 149 else … … 177 153 endif 178 154 155 # Build static whenever we use libusb because that library uses 156 # thread local variables 157 ifneq ($(findstring usb, $(LIBS)),) 158 STATIC_BUILD = y 159 endif 160 179 161 ifeq ($(STATIC_BUILD),y) 180 162 BASE_LIBS = $(LIBC_PREFIX)/libc.a $(LIBSOFTINT_PREFIX)/libsoftint.a 181 ifeq ($(MATH),y) 182 BASE_LIBS += $(LIBMATH_PREFIX)/libmath.a 183 endif 184 else 185 BASE_LIBS = $(LIBC_PREFIX)/libc.so.0 $(LIBSOFTINT_PREFIX)/libsoftint.so.0 186 LINK_DYNAMIC = y 187 ifeq ($(MATH),y) 188 BASE_LIBS += $(LIBMATH_PREFIX)/libmath.so.0 189 endif 190 endif 191 192 ifeq ($(LINK_DYNAMIC),y) 193 LFLAGS += -Bdynamic 163 LINKER_SCRIPT ?= $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld 164 else 165 BASE_LIBS = $(LIBC_PREFIX)/libc.so0 $(LIBSOFTINT_PREFIX)/libsofti.so0 166 LFLAGS = -Bdynamic 194 167 LINKER_SCRIPT ?= $(LIBC_PREFIX)/arch/$(UARCH)/_link-dlexe.ld 195 else196 LINKER_SCRIPT ?= $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld197 endif198 199 ifeq ($(MATH),y)200 INCLUDES_FLAGS = $(LIBC_INCLUDES_FLAGS) $(LIBMATH_INCLUDES_FLAGS)201 else202 INCLUDES_FLAGS = $(LIBC_INCLUDES_FLAGS)203 168 endif 204 169 … … 209 174 endif 210 175 211 # PCUT-based unit tests212 ifneq ($(TEST_SOURCES),)213 TEST_OUTPUT = $(TEST_BINARY)214 TEST_CFLAGS = -I$(LIB_PREFIX)/pcut/include -D__helenos__215 TEST_OUTPUT_LIBS = $(LIB_PREFIX)/pcut/libpcut.a216 EXTRA_CLEAN += $(TEST_OUTPUT) $(TEST_OUTPUT).map217 ifneq ($(LIBRARY),)218 TEST_OUTPUT_LIBS += $(OUTPUT)219 endif220 TEST_OUTPUT_LIBS += $(TEST_LIBS)221 endif222 223 176 .PHONY: all clean 224 177 225 178 all: $(VERSION_DEF) $(COMMON_MAKEFILE) $(CONFIG_MAKEFILE) $(CONFIG_HEADER) $(LIBS) $(OUTPUT) $(LOUTPUT) $(EXTRA_OUTPUT) 226 179 -[ -f $(DEPEND) ] && cp -a $(DEPEND) $(DEPEND_PREV) 227 228 all-test: $(TEST_OUTPUT)229 180 230 181 clean: … … 233 184 find . -name '*.lo' -follow -exec rm \{\} \; 234 185 235 GCC_CFLAGS = $( INCLUDES_FLAGS) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \186 GCC_CFLAGS = $(LIBC_INCLUDES_FLAGS) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \ 236 187 -fexec-charset=UTF-8 -fwide-exec-charset=UTF-32$(ENDIANESS) \ 237 188 -finput-charset=UTF-8 -ffreestanding -fno-builtin -nostdlib -nostdinc \ … … 240 191 -pipe -ggdb -D__$(ENDIANESS)__ 241 192 242 ICC_CFLAGS = $( INCLUDES_FLAGS) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \193 ICC_CFLAGS = $(LIBC_INCLUDES_FLAGS) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \ 243 194 -fexec-charset=UTF-8 -fwide-exec-charset=UTF-32$(ENDIANESS) \ 244 195 -finput-charset=UTF-8 -ffreestanding -fno-builtin -nostdlib -nostdinc \ … … 250 201 # something won't break because of that: 251 202 # -fexec-charset=UTF-8 -fwide-exec-charset=UTF-32$(ENDIANESS) -finput-charset=UTF-8 252 CLANG_CFLAGS = $( INCLUDES_FLAGS) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \203 CLANG_CFLAGS = $(LIBC_INCLUDES_FLAGS) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \ 253 204 -ffreestanding -fno-builtin -nostdlib -nostdinc \ 254 205 -Wall -Wextra -Wno-unused-parameter -Wmissing-prototypes \ 255 -std=gnu99 -Werror-implicit-function-declaration -Wwrite-strings \ 256 -integrated-as -pipe -g -target $(CLANG_TARGET) -D__$(ENDIANESS)__ 257 258 LIB_CFLAGS = $(CFLAGS) -fPIC 206 -Werror-implicit-function-declaration -Wwrite-strings \ 207 -integrated-as \ 208 -pipe -g -target $(CLANG_TARGET) -D__$(ENDIANESS)__ 209 210 LIB_CFLAGS = $(CFLAGS) -fPIC -D__IN_SHARED_LIBC__ 259 211 LIB_LFLAGS = $(LFLAGS) -shared -soname $(LSONAME) --whole-archive 260 212 … … 265 217 266 218 ifeq ($(CONFIG_LINE_DEBUG),y) 267 GCC_CFLAGS += -g gdb219 GCC_CFLAGS += -g 268 220 ICC_CFLAGS += -g 269 221 CLANG_CFLAGS += -g 270 222 endif 271 223 272 # Prepare for POSIX before including platform specific stuff 224 ## Setup platform configuration 225 # 226 227 -include $(LIBC_PREFIX)/arch/$(UARCH)/Makefile.common 228 229 ## Compilation options 230 # 231 232 JOBFILE = $(LIBC_PREFIX)/../../../tools/jobfile.py 233 273 234 ifeq ($(POSIX_COMPAT),y) 274 CFLAGS = -I$(LIBPOSIX_PREFIX)/include/posix -I$(LIBPOSIX_PREFIX)/include/ 275 BASE_LIBS = $(LIBPOSIX_PREFIX)/libposixaslibc.a $(LIBPOSIX_PREFIX)/libc4posix.a $(LIBSOFTINT_PREFIX)/libsoftint.a 276 endif 277 278 ## Setup platform configuration 279 # 280 281 -include $(LIBC_PREFIX)/arch/$(UARCH)/Makefile.common 282 283 ## Compilation options 284 # 285 286 JOBFILE = $(LIBC_PREFIX)/../../../tools/jobfile.py 235 CFLAGS = -I$(LIBPOSIX_PREFIX)/include/posix -I$(LIBPOSIX_PREFIX)/include/ 236 LIBS += $(LIBPOSIX_PREFIX)/libposix.a 237 endif 287 238 288 239 ifeq ($(COMPILER),gcc_cross) 289 CFLAGS += $(GCC_CFLAGS) 240 CFLAGS += $(GCC_CFLAGS) $(EXTRA_CFLAGS) 290 241 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) 291 242 endif 292 243 293 ifeq ($(COMPILER),gcc_ helenos)294 CFLAGS += $(GCC_CFLAGS) 244 ifeq ($(COMPILER),gcc_native) 245 CFLAGS += $(GCC_CFLAGS) $(EXTRA_CFLAGS) 295 246 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) 296 247 endif 297 248 298 ifeq ($(COMPILER), gcc_native)299 CFLAGS += $( GCC_CFLAGS)249 ifeq ($(COMPILER),icc) 250 CFLAGS += $(ICC_CFLAGS) $(EXTRA_CFLAGS) 300 251 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) 301 252 endif 302 253 303 ifeq ($(COMPILER),icc) 304 CFLAGS += $(ICC_CFLAGS) 254 ifeq ($(COMPILER),clang) 255 CFLAGS += $(CLANG_CFLAGS) $(EXTRA_CFLAGS) 256 GCC_CFLAGS += $(EXTRA_CFLAGS) 305 257 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) 306 258 endif 307 259 308 ifeq ($(COMPILER),clang)309 CFLAGS += $(CLANG_CFLAGS)310 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)311 endif312 313 ifneq ($(MAKECMDGOALS),clean)314 260 -include $(DEPEND) 315 endif316 261 317 262 OBJECTS := $(addsuffix .o,$(basename $(SOURCES))) 318 263 LOBJECTS := $(addsuffix .lo,$(basename $(SOURCES))) 319 TEST_OBJECTS := $(addsuffix .test.o,$(basename $(TEST_SOURCES)))320 264 321 265 ifneq ($(BINARY),) … … 353 297 354 298 ifneq ($(LIBRARY),) 355 $(LIBRARY).a: $(OBJECTS)299 %.a: $(OBJECTS) 356 300 $(AR) rc $@ $(OBJECTS) 357 301 endif 358 302 359 ifneq ($( LARCHIVE),)360 $(LARCHIVE): $(LOBJECTS)303 ifneq ($(SLIBRARY),) 304 %.la: $(LOBJECTS) 361 305 $(AR) rc $@ $(LOBJECTS) 362 306 endif 363 307 364 ifneq ($(TEST_OUTPUT),)365 $(TEST_OUTPUT): $(LINKER_SCRIPT) $(TEST_OBJECTS) $(TEST_OUTPUT_LIBS)366 $(LD) -n $(LFLAGS) -T $(LINKER_SCRIPT) -M -Map $(TEST_OUTPUT).map -o $@ $(TEST_OBJECTS) $(TEST_OUTPUT_LIBS) $(LIBS) $(BASE_LIBS)367 ifeq ($(CONFIG_STRIP_BINARIES),y)368 $(STRIP) $(TEST_OUTPUT)369 endif370 endif371 372 308 %.o: %.S $(DEPEND) 373 $(GCC) $(DEFS) $(GCC_CFLAGS) $(EXTRA_CFLAGS)-D__ASM__ -c $< -o $@374 ifeq ($(PRECHECK),y) 375 $(JOBFILE) $(JOB) $< $@ as asm/preproc $(DEFS) $(CFLAGS) $(EXTRA_CFLAGS)-D__ASM__309 $(GCC) $(DEFS) $(GCC_CFLAGS) -D__ASM__ -c $< -o $@ 310 ifeq ($(PRECHECK),y) 311 $(JOBFILE) $(JOB) $< $@ as asm/preproc $(DEFS) $(CFLAGS) -D__ASM__ 376 312 endif 377 313 … … 383 319 384 320 %.o: %.c $(DEPEND) 385 $(CC) $(DEFS) $(CFLAGS) $(EXTRA_CFLAGS) -c $< -o $@ 386 ifeq ($(PRECHECK),y) 387 $(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS) $(EXTRA_CFLAGS) 388 endif 389 390 %.test.o: %.c $(DEPEND) 391 $(CC) $(DEFS) $(CFLAGS) $(EXTRA_CFLAGS) $(TEST_CFLAGS) -c $< -o $@ 392 ifeq ($(PRECHECK),y) 393 $(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS) $(EXTRA_CFLAGS) $(TEST_CFLAGS) 321 $(CC) $(DEFS) $(CFLAGS) -c $< -o $@ 322 ifeq ($(PRECHECK),y) 323 $(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS) 394 324 endif 395 325 396 326 %.lo: %.S $(DEPEND) 397 $(CC) $(DEFS) $(LIB_CFLAGS) $(EXTRA_CFLAGS)-D__ASM__ -c $< -o $@398 ifeq ($(PRECHECK),y) 399 $(JOBFILE) $(JOB) $< $@ as asm/preproc $(DEFS) $( LIB_CFLAGS) $(EXTRA_CFLAGS) -D__ASM__327 $(CC) $(DEFS) $(LIB_CFLAGS) -D__ASM__ -c $< -o $@ 328 ifeq ($(PRECHECK),y) 329 $(JOBFILE) $(JOB) $< $@ as asm/preproc $(DEFS) $(CFLAGS) -D__ASM__ 400 330 endif 401 331 … … 407 337 408 338 %.lo: %.c $(DEPEND) 409 $(CC) $(DEFS) $(LIB_CFLAGS) $(EXTRA_CFLAGS)-c $< -o $@410 ifeq ($(PRECHECK),y) 411 $(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $( LIB_CFLAGS) $(EXTRA_CFLAGS)339 $(CC) $(DEFS) $(LIB_CFLAGS) -c $< -o $@ 340 ifeq ($(PRECHECK),y) 341 $(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS) 412 342 endif 413 343 414 344 $(DEPEND): $(PRE_DEPEND) 415 makedepend -f - -- $(DEPEND_DEFS) $(CFLAGS) $(EXTRA_CFLAGS) -- $(SOURCES) $(TEST_SOURCES) > $@ 2> /dev/null345 makedepend -f - -- $(DEPEND_DEFS) $(CFLAGS) -- $(SOURCES) > $@ 2> /dev/null 416 346 -[ -f $(DEPEND_PREV) ] && diff -q $(DEPEND_PREV) $@ && mv -f $(DEPEND_PREV) $@ 417 347
Note:
See TracChangeset
for help on using the changeset viewer.