Changes in kernel/Makefile [550b4e0:072607b] in mainline


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/Makefile

    r550b4e0 r072607b  
    4848#
    4949
     50AGDEPEND = Makefile.ag.depend
    5051DEPEND = Makefile.depend
    5152DEPEND_PREV = $(DEPEND).prev
     
    6667SIZEOK_MAP = generic/src/debug/sizeok_map.o
    6768
    68 .PHONY: all clean
     69.PHONY: all clean autogen_clean
    6970
    7071all: $(VERSION_DEF) $(COMMON_MAKEFILE) $(COMMON_HEADER) $(CONFIG_MAKEFILE) $(CONFIG_HEADER) $(BIN) $(DISASM)
    7172        -[ -f $(DEPEND) ] && cp -a $(DEPEND) $(DEPEND_PREV)
    7273
    73 clean:
     74clean: autogen_clean
    7475        rm -f $(DEPEND) $(DEPEND_PREV) $(RAW) $(BIN) $(MAP) $(JOB) $(MAP_PREV) $(DISASM) $(DUMP) $(REAL_MAP).* arch/*/_link.ld arch/*/include/arch/common.h
    75         find generic/src/ arch/*/src/ genarch/src/ test/ -name '*.o' -follow -exec rm \{\} \;
     76        find generic/src/ arch/*/src/ genarch/src/ test/ -name '*.o' -follow -exec rm '{}' \;
    7677
    7778## Common compiler flags
     
    105106CLANG_CFLAGS = $(INCLUDES_FLAGS) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \
    106107        -ffreestanding -fno-builtin -nostdlib -nostdinc \
    107         -Wall -Werror -Wextra -Wno-unused-parameter -Wmissing-prototypes \
     108        -std=gnu99 -Wall -Werror -Wextra -Wno-unused-parameter -Wmissing-prototypes \
    108109        -Werror-implicit-function-declaration -Wwrite-strings \
    109         -integrated-as \
    110         -pipe -target $(CLANG_TARGET)
     110        -integrated-as -pipe -target $(CLANG_TARGET)
    111111
    112112ifeq ($(CONFIG_DEBUG),y)
     
    129129# AFLAGS and LFLAGS must be initialized before the inclusion.
    130130#
    131 AFLAGS =
    132 LFLAGS = -n -T $(LINK) -M
     131AFLAGS = --fatal-warnings
     132LFLAGS = -n -T $(LINK) -M --fatal-warnings
    133133
    134134#
     
    139139-include genarch/Makefile.inc
    140140-include $(DEPEND)
     141-include $(AGDEPEND)
    141142
    142143## The at-sign
     
    172173endif
    173174
     175ifeq ($(COMPILER),gcc_helenos)
     176        CFLAGS = $(GCC_CFLAGS)
     177        DEPEND_DEFS = $(DEFS) $(CONFIG_DEFS)
     178        INSTRUMENTATION = -finstrument-functions
     179endif
     180
    174181ifeq ($(COMPILER),icc)
    175182        CFLAGS = $(ICC_CFLAGS)
     
    192199        generic/src/adt/bitmap.c \
    193200        generic/src/adt/btree.c \
     201        generic/src/adt/cht.c \
    194202        generic/src/adt/hash_table.c \
    195203        generic/src/adt/list.c \
     
    198206        generic/src/console/prompt.c \
    199207        generic/src/cpu/cpu.c \
     208        generic/src/cpu/cpu_mask.c \
    200209        generic/src/ddi/ddi.c \
    201210        generic/src/ddi/irq.c \
     
    206215        generic/src/debug/debug.c \
    207216        generic/src/interrupt/interrupt.c \
     217        generic/src/log/log.c \
    208218        generic/src/main/main.c \
    209219        generic/src/main/kinit.c \
     
    220230        generic/src/mm/km.c \
    221231        generic/src/mm/reserve.c \
    222         generic/src/mm/buddy.c \
    223232        generic/src/mm/frame.c \
    224233        generic/src/mm/page.c \
     
    228237        generic/src/mm/backend_elf.c \
    229238        generic/src/mm/backend_phys.c \
     239        generic/src/mm/backend_user.c \
    230240        generic/src/mm/slab.c \
    231241        generic/src/lib/func.c \
     
    251261        generic/src/synch/semaphore.c \
    252262        generic/src/synch/smc.c \
     263        generic/src/synch/smp_memory_barrier.c \
    253264        generic/src/synch/waitq.c \
    254265        generic/src/synch/futex.c \
     266        generic/src/synch/workqueue.c \
     267        generic/src/synch/rcu.c \
    255268        generic/src/smp/ipi.c \
    256269        generic/src/smp/smp.c \
     270        generic/src/smp/smp_call.c \
    257271        generic/src/ipc/ipc.c \
    258272        generic/src/ipc/sysipc.c \
     
    265279        generic/src/ipc/ops/datawrite.c \
    266280        generic/src/ipc/ops/debug.c \
     281        generic/src/ipc/ops/pagein.c \
    267282        generic/src/ipc/ops/sharein.c \
    268283        generic/src/ipc/ops/shareout.c \
     
    304319                test/atomic/atomic1.c \
    305320                test/btree/btree1.c \
     321                test/cht/cht1.c \
    306322                test/avltree/avltree1.c \
    307323                test/fault/fault1.c \
     
    313329                test/synch/semaphore1.c \
    314330                test/synch/semaphore2.c \
     331                test/synch/workqueue2.c \
     332                test/synch/workqueue3.c \
     333                test/synch/rcu1.c \
    315334                test/print/print1.c \
    316335                test/print/print2.c \
     
    318337                test/print/print4.c \
    319338                test/print/print5.c \
    320                 test/thread/thread1.c
     339                test/thread/thread1.c \
     340                test/smpcall/smpcall1.c
    321341       
    322342        ifeq ($(KARCH),mips32)
     
    361381GENARCH_OBJECTS := $(addsuffix .o,$(basename $(GENARCH_SOURCES)))
    362382
     383GENARCH_AUTOGENS_H := $(addsuffix .h,$(basename $(GENARCH_AUTOGENS_AG)))
     384GENARCH_AUTOGENS_PROBE_C := $(addsuffix .ag.probe.c,$(basename $(GENARCH_AUTOGENS_AG)))
     385GENARCH_AUTOGENS_PROBE_S := $(addsuffix .ag.probe.s,$(basename $(GENARCH_AUTOGENS_AG)))
     386
     387ARCH_AUTOGENS_H := $(addsuffix .h,$(basename $(ARCH_AUTOGENS_AG)))
     388ARCH_AUTOGENS_PROBE_C := $(addsuffix .ag.probe.c,$(basename $(ARCH_AUTOGENS_AG)))
     389ARCH_AUTOGENS_PROBE_S := $(addsuffix .ag.probe.s,$(basename $(ARCH_AUTOGENS_AG)))
     390
     391AUTOGENS_H := $(ARCH_AUTOGENS_H) $(GENARCH_AUTOGENS_H)
     392AUTOGENS_AG := $(ARCH_AUTOGENS_AG) $(GENARCH_AUTOGENS_AG)
     393
    363394LFLAGS_LTO := $(addprefix -Xlinker ,$(LFLAGS))
    364395
     
    391422$(LINK): $(LINK).in $(DEPEND)
    392423        $(CC) $(DEFS) $(CFLAGS) -D__ASM__ -D__LINKER__ -E -x c $< | grep -v "^\#" > $@
     424
     425%.h: %.ag
     426        $(AUTOGEN) probe $< >$<.probe.c
     427        $(CC) $(DEFS) $(CFLAGS) -S -o $<.probe.s $<.probe.c
     428        $(AUTOGEN) generate $< <$<.probe.s >$@   
    393429
    394430%.o: %.S $(DEPEND)
     
    435471        $(GENMAP) $(MAP_PREV) $(DUMP) $@
    436472
    437 $(DEPEND): $(COMMON_HEADER_ARCH)
     473$(AUTOGENS_H): $(AGDEPEND)
     474
     475$(AGDEPEND): $(AUTOGENS_AG)
     476        echo "# DO NOT EDIT" >$@
     477        for g in $^; do \
     478                h=`dirname $$g`/`basename $$g .ag`.h; \
     479                for l in `$(AUTOGEN) depend $$g`; do \
     480                        echo "$$h: $$l" >>$@; \
     481                done \
     482        done
     483
     484$(DEPEND): $(COMMON_HEADER_ARCH) $(AUTOGENS_H)
    438485        makedepend -f - -- $(DEPEND_DEFS) $(CFLAGS) -- $(ARCH_SOURCES) $(GENARCH_SOURCES) $(GENERIC_SOURCES) > $@ 2> /dev/null
    439486        -[ -f $(DEPEND_PREV) ] && diff -q $(DEPEND_PREV) $@ && mv -f $(DEPEND_PREV) $@
     
    441488$(COMMON_HEADER_ARCH): $(COMMON_HEADER)
    442489        ln -sfn ../../../../$< $@
     490
     491autogen_clean:
     492        -rm $(ARCH_AUTOGENS_H) $(ARCH_AUTOGENS_PROBE_C) $(ARCH_AUTOGENS_PROBE_S)
     493        -rm $(GENARCH_AUTOGENS_H) $(GENARCH_AUTOGENS_PROBE_C) $(GENARCH_AUTOGENS_PROBE_S)
     494        -rm $(AGDEPEND)
Note: See TracChangeset for help on using the changeset viewer.