Changeset 638 for trunk/openmct/Makefile

Show
Ignore:
Timestamp:
08/12/10 23:00:29 (22 months ago)
Author:
carsten
Message:

* splitting the main Makefile more into sub targets, by this rewritten many targets

with this subtargets more specific testing is possible

* adding a new configure parameter to build images with dhcp support

to see how it work look at the output of "make show"

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/openmct/Makefile

    r600 r638  
    1818                if [ -f $(CONFIGDIR)/$(MCT) ]; then \ 
    1919                        $(ECHO) -e "\033[1;33mCONFIGURE \033[1;32mOpenMCT\033[0m" ; \ 
    20                         $(CP) $(CONFIGDIR)/$(MCT) $(CONFIG) ; \ 
     20                        $(CP) $(CONFIGDIR)/$(MCT) $(CONFIG) && echo "BASECONFIG=$(MCT)" >> $(CONFIG); \ 
    2121                        if [ ! -d $(OUTPUTDIR) ]; then \ 
    2222                           $(MKDIR) $(OUTPUTDIR) ; \ 
    2323                        fi ; \ 
     24                        if [ "$(NET)" == "dhcp" ]; then \ 
     25                                echo "NET=dhcp" >> $(CONFIG) ; \ 
     26                        elif [ "$(NET)" != "dhcp" ] && [ "$(NET)" != "" ]; then \ 
     27                                $(ECHO) -e "\033[1;33mCONFIGURE FAILED\033[0m" ; \ 
     28                                $(ECHO) "Unknown option 'NET=$(NET)' !" ; \ 
     29                                $(ECHO) "For DHCP use 'NET=dhcp' " ; \ 
     30                                $(ECHO) -e "\033[1;33mRemoving $(CONFIG)\033[0m" && rm $(CONFIG) ; \ 
     31                                exit; \ 
     32                        fi; \ 
    2433                        $(ECHO) -e "\033[1;33mBASE PACKAGES:\033[0m" ; \ 
    2534                        for package in $(BASEPACKAGES); do \ 
     
    4150show: 
    4251        @$(ECHO) -e "\n\033[1;33mOpenMCT Firmware Builder\033[0m" ; \ 
    43         $(ECHO) -e "\033[1;32m************************\033[0m" ; \ 
    44         $(ECHO) -e "" ; \ 
    45         $(ECHO) -e "\033[1;32mmake config MCT=[target]\033[0m" ; \ 
     52        $(ECHO) -e "\033[1;32m************************\033[0m\n" ; \ 
     53        $(ECHO) -e "First You have to configure the buildsystem like:" ; \ 
     54        $(ECHO) -e "\033[1;32mmake config MCT=[target]\033[0m\n" ; \ 
     55        $(ECHO) -e "or if want to use DHCP for the NIC(s):" ; \ 
     56        $(ECHO) -e "\033[1;32mmake config MCT=[target] NET=dhcp\033[0m" ; \ 
    4657        $(ECHO) -e "\033[1;32mmake\033[0m" ; \ 
    4758        $(ECHO) -e "" ; \ 
     
    127138endif 
    128139 
    129 $(OUTPUTDIR)/$(ROOT): etc 
     140$(OUTPUTDIR)/$(ROOT): etc depmod openmct-release interfaces exports hosts resolv.conf 
     141 
     142etc: 
     143#       @rm -rf $(NEWROOTDIR)/etc $(NEWROOTDIR)/var 
     144        @svn export --force packages/build/buildetc/new $(NEWROOTDIR) 
     145 
     146depmod: 
     147# cleaning up .svn files 
    130148        @$(ECHO) -e "\033[1;33mREMOVE .svn FROM $(NEWROOTDIR)"  
    131149        @$(REMOVESVN) $(NEWROOTDIR) 
     150# depmod for the kernel 
    132151        @$(ECHO) -e "\033[1;33mCALCULATE DEPENDENCIES FOR KERNEL MODULES\033[0m" 
    133152        @$(DEPMOD) -b $(NEWROOTDIR)/lib/modules/`$(UNAME) $(PACKAGEDIR)/system/linux/src` \ 
    134153                   -k $(PACKAGEDIR)/system/linux/src/vmlinux 
     154 
     155openmct-release: 
     156# creating /etc/openmct-release 
    135157        @$(ECHO) -e "\033[1;33mCREATE \033[1;32m/etc/$(IMAGERELEASEFILENAME)\033[0m" 
    136158        @$(ECHO) "OpenMCT $(IMAGETARGET) $(IMAGEVERSION) $(IMAGESUBVERSION) $(IMAGEPRODCODE) $(SOFTWAREVERSION)" > $(NEWROOTDIR)/etc/$(IMAGERELEASEFILENAME) 
    137          
     159# creating hostname 
    138160        @$(ECHO) -e "\033[1;33mCREATE \033[1;32m/etc/hostname\033[0m" 
    139161        @$(ECHO) $(IMAGETARGET) > $(NEWROOTDIR)/var/etc/hostname 
     162# creating issue 
    140163        @$(ECHO) -e "\033[1;33mCREATE \033[1;32m/etc/issue\033[0m" 
    141164        @$(ECHO) "Welcome on $(IMAGETARGET) with OpenMCT $(SOFTWAREVERSION) !" > $(NEWROOTDIR)/etc/issue 
    142165        @$(ECHO) "### visit http://www.openmct.org ###" >> $(NEWROOTDIR)/etc/issue 
    143166        @$(ECHO) "working Kernel is \r \m (\d \t)" >> $(NEWROOTDIR)/etc/issue 
    144          
    145         @$(ECHO) -e "\033[1;33mCONFIGURE \033[1;32meth0\033[0m" 
    146          
    147         @$(ECHO) "auto lo" > $(NEWROOTDIR)/var/etc/network/interfaces 
    148         @$(ECHO) "" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    149          
     167 
     168interfaces: 
     169# building the interfaces files 
     170# we have to proof if the values from $(CONFIG) are valid 
     171# is there a .config file? 
     172        @if [ ! -f $(CONFIG) ]; then \ 
     173                $(ECHO) -e "\033[1;33mCONFIGURE FAILED\033[0m" ; \ 
     174                $(ECHO) "$(CONFIG) does not exist" ; \ 
     175                $(ECHO) "You have to run 'make config ...'!"; \ 
     176                exit 99; \ 
     177        fi 
     178# yes we have a .config file, starting with the loopback device  
     179        @$(ECHO) "## Loopback interface ##" > $(NEWROOTDIR)/var/etc/network/interfaces 
     180        @$(ECHO) "auto lo" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    150181        @$(ECHO) -e "\tiface lo inet loopback" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    151 ifdef ETH0IPADDR  
    152         @$(ECHO) "auto eth0" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    153         @$(ECHO) "iface eth0 inet static" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    154         @$(ECHO) -e "\taddress $(ETH0IPADDR)" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    155          
    156 ifdef ETH0NETMASK 
    157         @$(ECHO) -e "\tnetmask $(ETH0NETMASK)" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    158 else 
    159         @$(ECHO) -e "\tnetmask 255.255.255.0" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    160 endif 
    161          
    162 ifdef ETH0NETWORK 
    163         @$(ECHO) -e "\tnetwork $(ETH0NETWORK)" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    164         @$(ECHO) "# default nfs release for eth0" > $(NEWROOTDIR)/var/etc/exports 
    165         @$(ECHO) "/usr/data $(ETH0NETWORK)/255.255.255.0(rw,async,no_subtree_check)" >> $(NEWROOTDIR)/var/etc/exports 
    166 else 
    167         @$(ECHO) -e "\tnetwork 192.168.1.0" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    168         @$(ECHO) "# default nfs release for eth0" > $(NEWROOTDIR)/var/etc/exports 
    169         @$(ECHO) "/usr/data 192.168.1.0/255.255.255.0(rw,async,no_subtree_check)" >> $(NEWROOTDIR)/var/etc/exports 
    170 endif 
    171          
    172 ifdef ETH0BROADCAST 
    173         @$(ECHO) -e "\tbroadcast $(ETH0BROADCAST)" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    174 else 
    175         @$(ECHO) -e "\tbroadcast 192.168.1.255" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    176 endif 
    177          
    178 ifdef ETH0DEFAULTGW 
    179         @$(ECHO) -e "\tgateway $(ETH0DEFAULTGW)" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    180 endif 
    181         @$(ECHO) "" >> $(NEWROOTDIR)/var/etc/network/interfaces  
     182# proofing the values for eth0 and/or for dhcp 
     183        @$(ECHO) -e "\033[1;33mCREATE \033[1;32m/etc/interfaces based on device \033[1;34m$(BASECONFIG)\033[0m" 
     184        @if [ "$(NET)" != "dhcp" ]; then \ 
     185                if ([[ "$(ETH0IPADDR)" = "" ]] || [[ "$(ETH0NETWORK)" = "" ]] || [[ "$(ETH0BROADCAST)" = "" ]]); then \ 
     186                        $(ECHO) -e "\033[1;33mCONFIGURE FAILED\033[0m" ; \ 
     187                        $(ECHO) -e "something is wrong with your network config!\nmaybe some misspelling?" ; \ 
     188                        $(ECHO) -e "ETH0IPADDR=$(ETH0IPADDR)\nETH0NETWORK=$(ETH0NETWORK)\nETH0BROADCAST=$(ETH0BROADCAST)"; \ 
     189                        exit 99; \ 
     190                else \ 
     191                        $(ECHO) -e "\n## LAN interface eth0  ##" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     192                        $(ECHO) "auto eth0" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     193                        $(ECHO) "iface eth0 inet static" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     194                        $(ECHO) -e "\taddress $(ETH0IPADDR)" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     195                        if [ "$(ETH0NETMASK)" != "" ]; then \ 
     196                                $(ECHO) -e "\tnetmask $(ETH0NETMASK)" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     197                        else \ 
     198                                $(ECHO) -e "\tnetmask 255.255.255.0" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     199                        fi; \ 
     200                        $(ECHO) -e "\tbroadcast $(ETH0BROADCAST)" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     201                        if [ "$(ETH0DEFAULTGW)" != "" ]; then \ 
     202                                $(ECHO) -e "\tgateway $(ETH0DEFAULTGW)" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     203                        else \ 
     204                        $(ECHO) -e "\033[1;33mWARNING! \033[1;31mno gateway set for eth0!\033[0m Proof your .config!" ; \ 
     205                        fi; \ 
     206                        $(ECHO) -e "\033[1;33mCONFIGURE eth0 OK\033[0m" ; \ 
     207                        if ([[ "$(BASECONFIG)" = "sa113" ]] || [[ "$(BASECONFIG)" = "sa200" ]]); then \ 
     208                                $(ECHO) -e "\n## LAN interface eth1  ##" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     209                                $(ECHO) "auto eth1" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     210                                $(ECHO) "iface eth1 inet static" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     211                                $(ECHO) -e "\taddress $(ETH1IPADDR)" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     212                                if [ "$(ETH1NETMASK)" != "" ]; then \ 
     213                                        $(ECHO) -e "\tnetmask $(ETH1NETMASK)" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     214                                else \ 
     215                                        $(ECHO) -e "\tnetmask 255.255.255.0" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     216                                fi; \ 
     217                                if [ "$(ETH1BROADCAST)" != "" ]; then \ 
     218                                        $(ECHO) -e "\tbroadcast $(ETH1BROADCAST)" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     219                                else \ 
     220                                        $(ECHO) -e "\tbroadcast" $(shell $(SCRIPTDIR)/ip-shift.sh ${ETH1IPADDR}).255 >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     221                                fi; \ 
     222                                $(ECHO) -e "\033[1;33mCONFIGURE eth1 OK\033[0m" ; \ 
     223                        fi; \ 
     224                fi \ 
     225        else \ 
     226                $(ECHO) -e "\033[1;33mbuild dhcp config for eth0\033[0m" ; \ 
     227                $(ECHO) -e "\n## LAN interface eth0  ##" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     228                $(ECHO) "auto eth0" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     229                $(ECHO) -e "\tiface eth0 inet dhcp" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     230                if ([[ "$(BASECONFIG)" = "sa113" ]] || [[ "$(BASECONFIG)" = "sa200" ]]); then \ 
     231                        $(ECHO) -e "\033[1;33mbuild dhcp config for eth1\033[0m" ; \ 
     232                        $(ECHO) -e "\n## LAN interface eth1  ##" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     233                        $(ECHO) "auto eth1" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     234                        $(ECHO) -e "\tiface eth1 inet dhcp" >> $(NEWROOTDIR)/var/etc/network/interfaces; \ 
     235                fi; \ 
     236        fi 
     237        @cp $(NEWROOTDIR)/var/etc/network/interfaces $(NEWROOTDIR)/etc/init.d/backup/interfaces.backup 
     238 
     239exports: 
     240        @$(ECHO) -e "\033[1;33mCREATE \033[1;32m/etc/exports\033[0m" 
     241        @if [ ! -f $(CONFIG) ]; then \ 
     242                $(ECHO) -e "\033[1;33mCONFIGURE FAILED\033[0m" ; \ 
     243                $(ECHO) "$(CONFIG) does not exist" ; \ 
     244                $(ECHO) "You have to run 'make config ...'!"; \ 
     245                exit 99; \ 
     246        fi 
     247        @if [ "$(NET)" != "dhcp" ]; then \ 
     248                $(ECHO) "# default nfs release for eth0" > $(NEWROOTDIR)/var/etc/exports; \ 
     249                $(ECHO) -e "/usr/data $(ETH0NETWORK)/255.255.255.0(rw,async,no_subtree_check)\n" >> $(NEWROOTDIR)/var/etc/exports; \ 
     250                if ([[ "$(BASECONFIG)" = "sa113" ]] || [[ "$(BASECONFIG)" = "sa200" ]]); then \ 
     251                        $(ECHO) "# default nfs release for eth1" >> $(NEWROOTDIR)/var/etc/exports; \ 
     252                        $(ECHO) "/usr/data $(shell $(SCRIPTDIR)/ip-shift.sh ${ETH1IPADDR}).0/255.255.255.0(rw,async,no_subtree_check)" >> $(NEWROOTDIR)/var/etc/exports; \ 
     253                fi; \ 
     254        else \ 
     255                $(ECHO) "# default nfs release for eth0" > $(NEWROOTDIR)/var/etc/exports; \ 
     256                $(ECHO) "# edit the following line with correct parameters, like the correct IP subnet" > $(NEWROOTDIR)/var/etc/exports; \ 
     257                $(ECHO) -e "#/usr/data 192.168.1.0/255.255.255.0(rw,async,no_subtree_check)\n" >> $(NEWROOTDIR)/var/etc/exports; \ 
     258                if ([[ "$(BASECONFIG)" = "sa113" ]] || [[ "$(BASECONFIG)" = "sa200" ]]); then \ 
     259                        $(ECHO) "# default nfs release for eth1" >> $(NEWROOTDIR)/var/etc/exports; \ 
     260                        $(ECHO) "# edit the following line with correct parameters, like the correct IP subnet" > $(NEWROOTDIR)/var/etc/exports; \ 
     261                        $(ECHO) "#/usr/data 172.16.0.0/255.255.255.0(rw,async,no_subtree_check)" >> $(NEWROOTDIR)/var/etc/exports; \ 
     262                fi; \ 
     263        fi 
     264 
     265hosts: 
    182266        @$(ECHO) -e "\033[1;33mCREATE \033[1;32m/etc/hosts\033[0m" 
    183267        @$(ECHO) $(ETH0IPADDR) $(IMAGETARGET) > $(NEWROOTDIR)/var/etc/hosts 
    184 endif 
    185 ifdef ETH1IPADDR  
    186         @$(ECHO) -e "\033[1;33mCONFIGURE \033[1;32meth1\033[0m" 
    187         @$(ECHO) "auto eth1" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    188         @$(ECHO) "iface eth1 inet static" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    189         @$(ECHO) -e "\taddress $(ETH1IPADDR)" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    190 ifdef ETH1NETMASK 
    191         @$(ECHO) -e "\tnetmask $(ETH1NETMASK)" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    192 else 
    193         @$(ECHO) -e "\tnetmask 255.255.255.0" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    194 endif 
    195 ifdef ETH1NETWORK 
    196         @$(ECHO) -e "\tnetwork $(ETH0NETWORK)" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    197         @if [ -f $(NEWROOTDIR)/var/etc/exports ]; then \ 
    198             @$(ECHO) "# default nfs release for eth1" >> $(NEWROOTDIR)/var/etc/exports 
    199             $(ECHO) "/usr/data $(ETH1NETWORK)/255.255.255.0(rw,async,no_subtree_check)" >> $(NEWROOTDIR)/var/etc/exports; \ 
    200         else \ 
    201             @$(ECHO) "# default nfs release for eth1" > $(NEWROOTDIR)/var/etc/exports 
    202             $(ECHO) "/usr/data $(ETH1NETWORK)/255.255.255.0(rw,async,no_subtree_check)" >> $(NEWROOTDIR)/var/etc/exports; \ 
    203         fi 
    204 else 
    205         @$(ECHO) -e "\tnetwork 172.16.0.0" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    206         @if [ -f $(NEWROOTDIR)/etc/exports ]; then \ 
    207             $(ECHO) "# default nfs release for eth1" >> $(NEWROOTDIR)/var/etc/exports; \ 
    208             $(ECHO) "/usr/data 172.16.0.0/255.255.255.0(rw,async,no_subtree_check)" >> $(NEWROOTDIR)/var/etc/exports; \ 
    209         else \ 
    210             $(ECHO) "# default nfs release for eth1" > $(NEWROOTDIR)/var/etc/exports; \ 
    211             $(ECHO) "/usr/data 172.16.0.0/255.255.255.0(rw,async,no_subtree_check)" >> $(NEWROOTDIR)/var/etc/exports; \ 
    212         fi 
    213 endif 
    214 ifdef ETH1BROADCAST 
    215         @$(ECHO) -e "\tbroadcast $(ETH1BROADCAST)" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    216 else 
    217         @$(ECHO) -e "\tbroadcast 172.16.0.255" >> $(NEWROOTDIR)/var/etc/network/interfaces 
    218 endif 
    219 endif 
     268 
     269resolv.conf: 
     270        @$(ECHO) -e "\033[1;33mCREATE \033[1;32m/etc/resolv.conf\033[0m" 
    220271        @$(ECHO) "nameserver $(ETH0DEFAULTGW)" >> $(NEWROOTDIR)/var/etc/resolv.conf 
    221272        @$(ECHO) "/bin/echo \"You are in! Do the right thing! :-)\"" >>  $(NEWROOTDIR)/var/etc/profile 
    222         @cp $(NEWROOTDIR)/var/etc/network/interfaces $(NEWROOTDIR)/etc/init.d/backup/interfaces.backup 
    223273 
    224274squashfs: 
     
    267317                -z $(shell expr $(IMAGEFLASHROOTSIZE) + $(IMAGEFLASHETCSIZE)) 
    268318 
    269 etc: 
    270          
    271 #       @rm -rf $(NEWROOTDIR)/etc $(NEWROOTDIR)/var 
    272         @svn export --force packages/build/buildetc/new $(NEWROOTDIR)