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


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Makefile

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