Changes in Makefile [406d514:4cac212c] in mainline


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Makefile

    r406d514 r4cac212c  
    2727#
    2828
    29 CSCOPE = cscope
    30 CHECK = tools/check.sh
    31 CONFIG = tools/config.py
    32 AUTOTOOL = tools/autotool.py
    33 SANDBOX = autotool
     29## Include configuration
     30#
    3431
    35 CONFIG_RULES = HelenOS.config
     32.PHONY: all config distclean clean cscope
    3633
    37 COMMON_MAKEFILE = Makefile.common
    38 COMMON_HEADER = common.h
    39 COMMON_HEADER_PREV = $(COMMON_HEADER).prev
     34all: Makefile.config config.h config.defs
     35        $(MAKE) -C kernel
     36        $(MAKE) -C uspace
     37        $(MAKE) -C boot
    4038
    41 CONFIG_MAKEFILE = Makefile.config
    42 CONFIG_HEADER = config.h
     39Makefile.config config.h config.defs: HelenOS.config
     40        tools/config.py HelenOS.config default
    4341
    44 .PHONY: all precheck cscope autotool config_auto config_default config distclean clean check releasefile release
     42config:
     43        tools/config.py HelenOS.config
    4544
    46 all: $(COMMON_MAKEFILE) $(COMMON_HEADER) $(CONFIG_MAKEFILE) $(CONFIG_HEADER)
    47         cp -a $(COMMON_HEADER) $(COMMON_HEADER_PREV)
    48         $(MAKE) -C kernel PRECHECK=$(PRECHECK)
    49         $(MAKE) -C uspace PRECHECK=$(PRECHECK)
    50         $(MAKE) -C boot PRECHECK=$(PRECHECK)
     45distclean: clean
     46        rm -f Makefile.config config.h config.defs tools/*.pyc
    5147
    52 precheck: clean
    53         $(MAKE) all PRECHECK=y
     48clean:
     49        -$(MAKE) -C kernel clean
     50        -$(MAKE) -C uspace clean
     51        -$(MAKE) -C boot clean
    5452
    5553cscope:
    56         find kernel boot uspace -regex '^.*\.[chsS]$$' | xargs $(CSCOPE) -b -k -u -f$(CSCOPE).out
    57 
    58 # Pre-integration build check
    59 check: $(CHECK)
    60 ifdef JOBS
    61         $(CHECK) -j $(JOBS)
    62 else
    63         $(CHECK)
    64 endif
    65 
    66 # Autotool (detects compiler features)
    67 
    68 $(COMMON_MAKEFILE): autotool
    69 $(COMMON_HEADER): autotool
    70 
    71 autotool: $(CONFIG_MAKEFILE)
    72         $(AUTOTOOL)
    73         -[ -f $(COMMON_HEADER_PREV) ] && diff -q $(COMMON_HEADER_PREV) $(COMMON_HEADER) && mv -f $(COMMON_HEADER_PREV) $(COMMON_HEADER)
    74 
    75 # Build-time configuration
    76 
    77 $(CONFIG_MAKEFILE): config_default
    78 $(CONFIG_HEADER): config_default
    79 
    80 config_default: $(CONFIG_RULES)
    81 ifeq ($(HANDS_OFF),y)
    82         $(CONFIG) $< hands-off $(PROFILE)
    83 else
    84         $(CONFIG) $< default $(PROFILE)
    85 endif
    86 
    87 config: $(CONFIG_RULES)
    88         $(CONFIG) $<
    89 
    90 # Release files
    91 
    92 releasefile: all
    93         $(MAKE) -C release releasefile
    94 
    95 release:
    96         $(MAKE) -C release release
    97 
    98 # Cleaning
    99 
    100 distclean: clean
    101         rm -f $(CSCOPE).out $(COMMON_MAKEFILE) $(COMMON_HEADER) $(COMMON_HEADER_PREV) $(CONFIG_MAKEFILE) $(CONFIG_HEADER) tools/*.pyc tools/checkers/*.pyc release/HelenOS-*
    102 
    103 clean:
    104         rm -fr $(SANDBOX)
    105         $(MAKE) -C kernel clean
    106         $(MAKE) -C uspace clean
    107         $(MAKE) -C boot clean
     54        find kernel boot uspace -regex '^.*\.[chsS]$$' -print > srclist
     55        rm -f cscope.out
     56        cscope -bi srclist
Note: See TracChangeset for help on using the changeset viewer.