00001 00002 # This is the file that all 'common' GNUmakefiles, and only them, 00003 # should include. 00004 00005 # Prerequisite: COMMON_TOP must be set. 00006 00007 00008 # Each project should define its own GNUmakesettings.inc, as explained below, 00009 # and should not reuse any other GNUmakesettings.inc coming from prerequisites. 00010 00011 00012 # Note regarding dependencies and settings: 00013 00014 # let c be 'common', b be a library using 'common' (ex: 'wooper') and a 00015 # an application using the b library: a depends on b that depends on c. 00016 00017 # For any makefile of a, the correct include order would be: 00018 # - all GNUmakevars before all GNUmakerules 00019 # - among GNUmakevars, first a, then b, then c, as b will define variables 00020 # if a did not defined them, and so on 00021 # - among GNUmakerules, first a, then b, then c, for the same reason: 00022 # rules will be matched according to their declaration order 00023 # 00024 # Therefore we need to have: 00025 # a.GNUmakevars 00026 # b.GNUmakevars 00027 # c.GNUmakevars 00028 # a.GNUmakerules 00029 # b.GNUmakerules 00030 # c.GNUmakerules 00031 00032 # Hence, for no project, the GNUmakevars and GNUmakerules should be 00033 # aggregated. 00034 00035 # As it is a lot more convenient that all GNUmakefiles include only one 00036 # global GNUmake*inc file, each project should define an appropriate one, 00037 # which ought be named 'GNUmakesettings.inc' (this file). 00038 00039 00040 include $(COMMON_TOP)/GNUmakevars.inc 00041 00042 include $(COMMON_TOP)/GNUmakerules.inc 00043