Changes in kernel/Makefile [9ded977:1cb092d] in mainline


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/Makefile

    r9ded977 r1cb092d  
    8484
    8585ifeq ($(CONFIG_OPTIMIZE_FOR_SIZE),y)
    86         OPTIMIZATION = s
     86OPTIMIZATION = s
    8787else
    88         OPTIMIZATION = 3
     88OPTIMIZATION = 3
    8989endif
    9090
     
    9696        -Wall -Wextra -Wno-unused-parameter -Wmissing-prototypes \
    9797        -Werror-implicit-function-declaration -Wwrite-strings \
    98         -pipe
     98        -Werror -pipe
    9999
    100100ICC_CFLAGS = -I$(INCLUDES) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \
    101101        -ffreestanding -fno-builtin -nostdlib -nostdinc -Wall -Wmissing-prototypes \
    102         -Werror-implicit-function-declaration -wd170
     102        -Werror-implicit-function-declaration -Werror -wd170
    103103
    104104SUNCC_CFLAGS = -I$(INCLUDES) -xO$(OPTIMIZATION) \
     
    113113        -pipe -arch $(CLANG_ARCH)
    114114
    115 ifeq ($(CONFIG_DEBUG),y)
    116         GCC_CFLAGS += -Werror
    117         ICC_CFLAGS += -Werror
    118 endif
    119 
    120 ifeq ($(CONFIG_LTO),y)
    121         GCC_CFLAGS += -flto
    122 endif
    123 
    124 ifeq ($(CONFIG_LINE_DEBUG),y)
    125         GCC_CFLAGS += -g
    126         ICC_CFLAGS += -g
    127         SUNCC_CFLAGS += -g
    128         CLANG_CFLAGS += -g
    129 endif
    130 
    131 #
    132 # Mind the mutual ordering with the inclusion of the arch Makefile.inc.
    133 # AFLAGS and LFLAGS must be initialized before the inclusion.
    134 #
    135 AFLAGS =
    136 LFLAGS = -N -T $(LINK) -M
    137 
    138 #
    139 # Mind the mutual ordering with the initialization of AFLAGS and LFLAGS.
    140 # The arch Makefile.inc must be included after the initialization.
    141 #
    142115-include arch/$(KARCH)/Makefile.inc
    143116-include genarch/Makefile.inc
     
    167140        CFLAGS = $(GCC_CFLAGS)
    168141        DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)
    169         INSTRUMENTATION = -finstrument-functions
    170142endif
    171143
     
    173145        CFLAGS = $(GCC_CFLAGS)
    174146        DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)
    175         INSTRUMENTATION = -finstrument-functions
    176147endif
    177148
     
    179150        CFLAGS = $(ICC_CFLAGS)
    180151        DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)
    181         INSTRUMENTATION =
    182152endif
    183153
     
    186156        DEFS += $(CONFIG_DEFS)
    187157        DEPEND_DEFS = $(DEFS)
    188         INSTRUMENTATION =
    189158endif
    190159
     
    192161        CFLAGS = $(CLANG_CFLAGS)
    193162        DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)
    194         INSTRUMENTATION =
    195 endif
    196 
     163endif
    197164
    198165## Generic kernel sources
     
    213180        generic/src/debug/symtab.c \
    214181        generic/src/debug/stacktrace.c \
    215         generic/src/debug/panic.c \
    216         generic/src/debug/debug.c \
    217182        generic/src/interrupt/interrupt.c \
    218183        generic/src/main/main.c \
     
    255220        generic/src/synch/spinlock.c \
    256221        generic/src/synch/condvar.c \
     222        generic/src/synch/rwlock.c \
    257223        generic/src/synch/mutex.c \
    258224        generic/src/synch/semaphore.c \
     
    307273                test/mm/slab1.c \
    308274                test/mm/slab2.c \
     275                test/synch/rwlock1.c \
     276                test/synch/rwlock2.c \
     277                test/synch/rwlock3.c \
     278                test/synch/rwlock4.c \
     279                test/synch/rwlock5.c \
    309280                test/synch/semaphore1.c \
    310281                test/synch/semaphore2.c \
     
    368339endif
    369340
    370 ## Sources where instrumentation is enabled
    371 #
    372 
    373 ifeq ($(CONFIG_TRACE),y)
    374         INSTRUMENTED_SOURCES = \
    375                 generic/src/adt/btree.c \
    376                 generic/src/cpu/cpu.c \
    377                 generic/src/ddi/ddi.c \
    378                 generic/src/interrupt/interrupt.c \
    379                 generic/src/main/main.c \
    380                 generic/src/main/kinit.c \
    381                 generic/src/proc/the.c \
    382                 generic/src/proc/tasklet.c \
    383                 generic/src/mm/frame.c \
    384                 generic/src/mm/page.c \
    385                 generic/src/mm/tlb.c \
    386                 generic/src/mm/as.c \
    387                 generic/src/mm/slab.c \
    388                 generic/src/sysinfo/sysinfo.c \
    389                 generic/src/console/kconsole.c
    390 else
    391         INSTRUMENTED_SOURCES =
    392 endif
    393 
    394341GENERIC_OBJECTS := $(addsuffix .o,$(basename $(GENERIC_SOURCES)))
    395342ARCH_OBJECTS := $(addsuffix .o,$(basename $(ARCH_SOURCES)))
    396343GENARCH_OBJECTS := $(addsuffix .o,$(basename $(GENARCH_SOURCES)))
    397 
    398 LFLAGS_LTO := $(addprefix -Xlinker ,$(LFLAGS))
    399344
    400345ifeq ($(CONFIG_SYMTAB),y)
     
    408353
    409354$(DISASM): $(RAW)
    410 ifeq ($(CONFIG_LINE_DEBUG),y)
    411         $(OBJDUMP) -d -S $< > $@
    412 else
    413355        $(OBJDUMP) -d $< > $@
    414 endif
    415356
    416357$(RAW): $(LINK) $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(SYMTAB_OBJECTS)
    417 ifeq ($(CONFIG_LTO),y)
    418         $(GCC) $(LFLAGS_LTO) -Xlinker -Map -Xlinker $(MAP) $(DEFS) $(GCC_CFLAGS) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(SYMTAB_OBJECTS)
    419 else
    420         $(LD) $(LFLAGS) -Map $(MAP) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(SYMTAB_OBJECTS)
    421 endif
     358        $(LD) -N $(LFLAGS) -T $(LINK) -M -Map $(MAP) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(SYMTAB_OBJECTS)
    422359ifeq ($(CONFIG_STRIP_BINARIES),y)
    423         $(STRIP) $(RAW)
     360        $(STRIP) $(RAW) 
    424361endif
    425362
     
    428365
    429366%.o: %.S $(DEPEND)
    430         $(GCC) $(DEFS) $(GCC_CFLAGS) -D__ASM__ -c -o $@ $<
     367        $(GCC) $(DEFS) $(GCC_CFLAGS) -D__ASM__ -c $< -o $@
    431368ifeq ($(PRECHECK),y)
    432369        $(JOBFILE) $(JOB) $< $@ as asm/preproc $(DEFS) $(GCC_CFLAGS) -D__ASM__
     
    445382
    446383test/fpu/%.o: test/fpu/%.c $(DEPEND)
    447         $(CC) $(DEFS) $(CFLAGS) $(EXTRA_FLAGS) -c -o $@ $<
     384        $(CC) $(DEFS) $(CFLAGS) $(EXTRA_FLAGS) -c $< -o $@
    448385ifeq ($(PRECHECK),y)
    449386        $(JOBFILE) $(JOB) $< $@ cc test $(DEFS) $(CFLAGS) $(EXTRA_FLAGS)
     
    455392
    456393%.o: %.c $(DEPEND)
    457         $(CC) $(DEFS) $(CFLAGS) $(EXTRA_FLAGS) $(FPU_NO_CFLAGS) $(if $(findstring $<,$(INSTRUMENTED_SOURCES)),$(INSTRUMENTATION)) -c -o $@ $<
     394        $(CC) $(DEFS) $(CFLAGS) $(EXTRA_FLAGS) $(FPU_NO_CFLAGS) -c $< -o $@
    458395ifeq ($(PRECHECK),y)
    459396        $(JOBFILE) $(JOB) $< $@ cc core $(DEFS) $(CFLAGS) $(EXTRA_FLAGS) $(FPU_NO_CFLAGS)
     
    465402$(REAL_MAP).bin: $(LINK) $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS)
    466403        echo $(SYMTAB_SECTION) | $(AS) $(AFLAGS) -o $(EMPTY_MAP)
    467 ifeq ($(CONFIG_LTO),y)
    468         $(GCC) $(LFLAGS_LTO) -Xlinker -Map -Xlinker $(MAP_PREV) $(DEFS) $(GCC_CFLAGS) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(EMPTY_MAP)
    469 else
    470         $(LD) $(LFLAGS) -Map $(MAP_PREV) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(EMPTY_MAP)
    471 endif
     404        $(LD) -N $(LFLAGS) -T $(LINK) -M -Map $(MAP_PREV) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(EMPTY_MAP)
    472405        $(OBJDUMP) -t $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) > $(DUMP)
    473406        $(GENMAP) $(MAP_PREV) $(DUMP) $@
     
    477410       
    478411        echo $(SYMTAB_SECTION)" .incbin \"$@\"" | $(AS) $(AFLAGS) -o $(SIZEOK_MAP)
    479 ifeq ($(CONFIG_LTO),y)
    480         $(GCC) $(LFLAGS_LTO) -Xlinker -Map -Xlinker $(MAP_PREV) $(DEFS) $(GCC_CFLAGS) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(SIZEOK_MAP)
    481 else
    482         $(LD) $(LFLAGS) -Map $(MAP_PREV) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(SIZEOK_MAP)
    483 endif
     412        $(LD) -N $(LFLAGS) -T $(LINK) -M -Map $(MAP_PREV) -o $@ $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) $(EXTRA_OBJECTS) $(SIZEOK_MAP)
    484413        $(OBJDUMP) -t $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) > $(DUMP)
    485414        $(GENMAP) $(MAP_PREV) $(DUMP) $@
Note: See TracChangeset for help on using the changeset viewer.