Changes in kernel/Makefile [d75dc05:3ec2acc] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/Makefile
rd75dc05 r3ec2acc 82 82 INCLUDES_FLAGS = $(addprefix -I,$(INCLUDES)) 83 83 84 ifeq ($(CONFIG_OPTIMIZE_FOR_SIZE),y) 85 OPTIMIZATION = s 86 else 87 OPTIMIZATION = 3 88 endif 89 84 90 DEFS = -DKERNEL -DRELEASE=$(RELEASE) "-DCOPYRIGHT=$(COPYRIGHT)" "-DNAME=$(NAME)" -D__$(BITS)_BITS__ -D__$(ENDIANESS)__ 85 91 86 COMMON_CFLAGS = $(INCLUDES_FLAGS) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \ 92 GCC_CFLAGS = $(INCLUDES_FLAGS) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \ 93 -fexec-charset=UTF-8 -fwide-exec-charset=UTF-32$(ENDIANESS) \ 94 -finput-charset=UTF-8 -ffreestanding -fno-builtin -nostdlib -nostdinc \ 95 -std=gnu99 -Wall -Wextra -Wno-unused-parameter -Wmissing-prototypes \ 96 -Werror-implicit-function-declaration -Wwrite-strings \ 97 -pipe 98 99 ICC_CFLAGS = $(INCLUDES_FLAGS) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \ 100 -ffreestanding -fno-builtin -nostdlib -nostdinc -Wall -Wmissing-prototypes \ 101 -Werror-implicit-function-declaration -wd170 102 103 # clang does not support following options but I am not sure whether 104 # something won't break because of that: 105 # -fexec-charset=UTF-8 -fwide-exec-charset=UTF-32$(ENDIANESS) -finput-charset=UTF-8 106 CLANG_CFLAGS = $(INCLUDES_FLAGS) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \ 87 107 -ffreestanding -fno-builtin -nostdlib -nostdinc \ 88 -fexec-charset=UTF-8 -finput-charset=UTF-8 89 90 GCC_CFLAGS = -std=gnu99 -Wall -Wextra -Wno-unused-parameter \ 91 -Wmissing-prototypes -Werror-implicit-function-declaration \ 92 -Wwrite-strings -pipe 93 94 CLANG_CFLAGS = -std=gnu99 -Wall -Wextra -Wno-unused-parameter \ 95 -Wno-missing-field-initializers -Wno-unused-command-line-argument \ 96 -Wmissing-prototypes -Werror-implicit-function-declaration \ 97 -Wwrite-strings -pipe -fno-stack-protector -fno-PIC 108 -std=gnu99 -Wall -Werror -Wextra -Wno-unused-parameter -Wmissing-prototypes \ 109 -Werror-implicit-function-declaration -Wwrite-strings \ 110 -integrated-as -pipe -target $(CLANG_TARGET) 98 111 99 112 ifeq ($(CONFIG_DEBUG),y) 100 COMMON_CFLAGS += -Werror 113 GCC_CFLAGS += -Werror 114 ICC_CFLAGS += -Werror 101 115 endif 102 116 103 117 ifeq ($(CONFIG_LTO),y) 104 COMMON_CFLAGS += -flto118 GCC_CFLAGS += -flto 105 119 endif 106 120 107 121 ifeq ($(CONFIG_LINE_DEBUG),y) 108 COMMON_CFLAGS += -g 122 GCC_CFLAGS += -g 123 ICC_CFLAGS += -g 124 CLANG_CFLAGS += -g 109 125 endif 110 126 … … 113 129 # AFLAGS and LFLAGS must be initialized before the inclusion. 114 130 # 115 AFLAGS = 131 AFLAGS = --fatal-warnings 116 132 LFLAGS = -n -T $(LINK) -M --fatal-warnings 117 118 # FIXME: This condition is a workaround for issues #693 and #694.119 ifneq ($(KARCH),sparc64)120 ifneq ($(KARCH),mips32)121 AFLAGS += --fatal-warnings122 endif123 endif124 133 125 134 # … … 153 162 154 163 ifeq ($(COMPILER),gcc_native) 155 CFLAGS = $( COMMON_CFLAGS) $(GCC_CFLAGS)164 CFLAGS = $(GCC_CFLAGS) 156 165 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) 157 166 INSTRUMENTATION = -finstrument-functions … … 159 168 160 169 ifeq ($(COMPILER),gcc_cross) 161 CFLAGS = $( COMMON_CFLAGS) $(GCC_CFLAGS)170 CFLAGS = $(GCC_CFLAGS) 162 171 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) 163 172 INSTRUMENTATION = -finstrument-functions … … 165 174 166 175 ifeq ($(COMPILER),gcc_helenos) 167 CFLAGS = $( COMMON_CFLAGS) $(GCC_CFLAGS)176 CFLAGS = $(GCC_CFLAGS) 168 177 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) 169 178 INSTRUMENTATION = -finstrument-functions 170 179 endif 171 180 181 ifeq ($(COMPILER),icc) 182 CFLAGS = $(ICC_CFLAGS) 183 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) 184 INSTRUMENTATION = 185 endif 186 172 187 ifeq ($(COMPILER),clang) 173 CFLAGS = $(C OMMON_CFLAGS) $(CLANG_CFLAGS)188 CFLAGS = $(CLANG_CFLAGS) 174 189 DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS) 175 INSTRUMENTATION = -finstrument-functions190 INSTRUMENTATION = 176 191 endif 177 192 … … 194 209 generic/src/ddi/ddi.c \ 195 210 generic/src/ddi/irq.c \ 211 generic/src/ddi/device.c \ 196 212 generic/src/debug/symtab.c \ 197 213 generic/src/debug/stacktrace.c \ … … 224 240 generic/src/mm/slab.c \ 225 241 generic/src/lib/func.c \ 226 generic/src/lib/mem .c \242 generic/src/lib/memstr.c \ 227 243 generic/src/lib/memfnc.c \ 228 generic/src/lib/ gsort.c \244 generic/src/lib/sort.c \ 229 245 generic/src/lib/str.c \ 230 246 generic/src/lib/elf.c \ … … 256 272 generic/src/ipc/sysipc.c \ 257 273 generic/src/ipc/sysipc_ops.c \ 274 generic/src/ipc/ops/clnestab.c \ 258 275 generic/src/ipc/ops/conctmeto.c \ 259 276 generic/src/ipc/ops/concttome.c \ 277 generic/src/ipc/ops/connclone.c \ 260 278 generic/src/ipc/ops/dataread.c \ 261 279 generic/src/ipc/ops/datawrite.c \ … … 268 286 generic/src/ipc/irq.c \ 269 287 generic/src/ipc/event.c \ 270 generic/src/cap/cap.c \ 271 generic/src/security/perm.c \ 288 generic/src/security/cap.c \ 272 289 generic/src/sysinfo/sysinfo.c \ 273 290 generic/src/sysinfo/stats.c … … 375 392 AUTOGENS_AG := $(ARCH_AUTOGENS_AG) $(GENARCH_AUTOGENS_AG) 376 393 377 AS_CFLAGS := $(addprefix -Xassembler ,$(AFLAGS)) 378 LD_CFLAGS := $(addprefix -Xlinker ,$(LFLAGS)) 379 380 ifeq ($(COMPILER),clang) 381 AS_CFLAGS += -mllvm -asm-macro-max-nesting-depth=1000 382 endif 394 LFLAGS_LTO := $(addprefix -Xlinker ,$(LFLAGS)) 383 395 384 396 ifeq ($(CONFIG_SYMTAB),y) … … 400 412 $(RAW): $(LINK) $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(SYMTAB_OBJECTS) 401 413 ifeq ($(CONFIG_LTO),y) 402 $( CC) $(DEFS) $(CFLAGS) $(LD_CFLAGS) -Xlinker -Map -Xlinker $(MAP) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(SYMTAB_OBJECTS)414 $(GCC) $(LFLAGS_LTO) -Xlinker -Map -Xlinker $(MAP) $(DEFS) $(GCC_CFLAGS) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(SYMTAB_OBJECTS) 403 415 else 404 416 $(LD) $(LFLAGS) -Map $(MAP) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(SYMTAB_OBJECTS) … … 413 425 %.h: %.ag 414 426 $(AUTOGEN) probe $< >$<.probe.c 415 $(CC _AUTOGEN) $(DEFS) $(CFLAGS) -S -o $<.probe.s $<.probe.c427 $(CC) $(DEFS) $(CFLAGS) -S -o $<.probe.s $<.probe.c 416 428 $(AUTOGEN) generate $< <$<.probe.s >$@ 417 429 418 430 %.o: %.S $(DEPEND) 419 $( CC) $(DEFS) $(CFLAGS) $(AS_CFLAGS) -D__ASM__ -c -o $@ $<431 $(GCC) $(DEFS) $(GCC_CFLAGS) -D__ASM__ -c -o $@ $< 420 432 ifeq ($(PRECHECK),y) 421 $(JOBFILE) $(JOB) $< $@ as asm/preproc $(DEFS) $( CFLAGS) -D__ASM__433 $(JOBFILE) $(JOB) $< $@ as asm/preproc $(DEFS) $(GCC_CFLAGS) -D__ASM__ 422 434 endif 423 435 424 436 %.o: %.s $(DEPEND) 425 $( CC) $(DEFS) $(CFLAGS) $(AS_CFLAGS) -D__ASM__ -c-o $@ $<437 $(AS) $(AFLAGS) -o $@ $< 426 438 ifeq ($(PRECHECK),y) 427 439 $(JOBFILE) $(JOB) $< $@ as asm $(DEFS) $(CFLAGS) $(EXTRA_FLAGS) … … 435 447 436 448 $(REAL_MAP).o: $(REAL_MAP).bin 437 echo "$(AS_PROLOG)""$(SYMTAB_SECTION)"" .incbin \"$<\"" | $( CC) $(CFLAGS) $(AS_CFLAGS) -x assembler -c -o $@ -449 echo "$(AS_PROLOG)""$(SYMTAB_SECTION)"" .incbin \"$<\"" | $(AS) $(AFLAGS) -o $@ 438 450 439 451 $(REAL_MAP).bin: $(LINK) $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) 440 echo "$(AS_PROLOG)""$(SYMTAB_SECTION)" | $( CC) $(CFLAGS) $(AS_CFLAGS) -x assembler -c -o $(EMPTY_MAP) -452 echo "$(AS_PROLOG)""$(SYMTAB_SECTION)" | $(AS) $(AFLAGS) -o $(EMPTY_MAP) 441 453 ifeq ($(CONFIG_LTO),y) 442 $( CC) $(DEFS) $(CFLAGS) $(LD_CFLAGS) -Xlinker -Map -Xlinker $(MAP_PREV) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(EMPTY_MAP)454 $(GCC) $(LFLAGS_LTO) -Xlinker -Map -Xlinker $(MAP_PREV) $(DEFS) $(GCC_CFLAGS) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(EMPTY_MAP) 443 455 else 444 456 $(LD) $(LFLAGS) -Map $(MAP_PREV) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(EMPTY_MAP) … … 450 462 # on architectures that have bss after symtab 451 463 452 echo "$(AS_PROLOG)""$(SYMTAB_SECTION)"" .incbin \"$@\"" | $( CC) $(CFLAGS) $(AS_CFLAGS) -x assembler -c -o $(SIZEOK_MAP) -464 echo "$(AS_PROLOG)""$(SYMTAB_SECTION)"" .incbin \"$@\"" | $(AS) $(AFLAGS) -o $(SIZEOK_MAP) 453 465 ifeq ($(CONFIG_LTO),y) 454 $( CC) $(DEFS) $(CFLAGS) $(LD_CFLAGS) -Xlinker -Map -Xlinker $(MAP_PREV) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(SIZEOK_MAP)466 $(GCC) $(LFLAGS_LTO) -Xlinker -Map -Xlinker $(MAP_PREV) $(DEFS) $(GCC_CFLAGS) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(SIZEOK_MAP) 455 467 else 456 468 $(LD) $(LFLAGS) -Map $(MAP_PREV) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(SIZEOK_MAP)
Note:
See TracChangeset
for help on using the changeset viewer.