Fixed DNS issues with ubuntu-9.10
[people/pravin/BKO.git] / Makefile
1 SHELL = /bin/bash
2
3 PWD := $(shell pwd)
4
5
6 ifndef BKO_CONFIG
7 BKO_CONFIG=config
8 endif
9
10 -include $(BKO_CONFIG)
11
12 BKO_ABSPATH = 
13
14 export BKOPREFIX
15
16 .SILENT:
17
18 COREDIR = bko
19 GPXEDIR = gpxe
20 SYSLINUXDIR = syslinux
21 PXEKNIFEDIR = pxeknife
22 SUPPORTDIRS = $(SYSLINUXDIR) $(PXEKNIFEDIR)
23
24 GPXEIMAGESDIR = gpxe_images
25
26 DIRS = $(COREDIR) $(SUPPORTDIRS)
27
28 all: make_statement $(DIRS)
29
30 bko: $(SUPPORTDIRS) $(GPXEDIR)
31
32 clean: make_statement $(patsubst %,%.clean,$(DIRS))
33
34 make_statement:
35         echo "boot.kernel.org build process manager says: HELLO WORLD!"
36
37
38 $(SYSLINUXDIR): $(patsubst %,%.build,$(SYSLINUXDIR)) $(patsubst %,%.install,$(SYSLINUXDIR))
39 $(GPXEDIR): $(patsubst %,%.build,$(GPXEDIR)) $(patsubst %,%.install,$(GPXEDIR))
40 $(PXEKNIFEDIR): $(patsubst %,%.build,$(PXEKNIFEDIR))
41 $(COREDIR): $(patsubst %,%.build,$(COREDIR))
42
43 $(patsubst %,%.build,$(DIRS)): make_statement
44         $(MAKE) $(MFLAGS) BKO_ABSPATH="$(BKO_ABSPATH)/$(shell echo "$@" | sed 's/\.build//')" BKO_CONFIG="../$(BKO_CONFIG)" -C $(shell echo "$@" | sed 's/\.build//') -f Makefile
45
46 $(patsubst %,%.build,$(GPXEDIR)): make_statement
47         cat gpxe_bko/pxeDHCP.bko.tmpl | sed 's/P_BOOT_URL/$(shell echo "$(BASE_URL)" | sed -e 's/\//\\\//gi' )/g' > $(GPXEDIR)/src/pxeDHCP.gpxe
48         cat gpxe_bko/pxeSTATIC.bko.tmpl | sed 's/P_BOOT_URL/$(shell echo "$(BASE_URL)" | sed -e 's/\//\\\//gi' )/g' > $(GPXEDIR)/src/pxeSTATIC.gpxe
49         $(MAKE) $(MFLAGS) EMBEDDED_IMAGE=pxeDHCP.gpxe,pxeSTATIC.gpxe -C $(GPXEDIR)/src -f Makefile
50
51 gpxe_images: make_statement
52         mkdir -p gpxe_images
53
54 $(patsubst %,%.install,$(SYSLINUXDIR)): make_statement
55         find \
56                 $(SYSLINUXDIR) \
57                  -type f \
58                 \( \
59                         -name *.c32 \
60                         -o \
61                         -name memdisk \
62                         -o \
63                         -name pxelinux.0 \
64                 \) \
65                 -exec cp {} bko/ \;
66
67 $(patsubst %,%.install,$(GPXEDIR)): make_statement gpxe_images
68         $(MAKE) $(MFLAGS) EMBEDDED_IMAGE=pxeDHCP.gpxe,pxeSTATIC.gpxe -C $(GPXEDIR)/src -f Makefile bin/gpxe.usb
69         $(MAKE) $(MFLAGS) EMBEDDED_IMAGE=pxeDHCP.gpxe,pxeSTATIC.gpxe -C $(GPXEDIR)/src -f Makefile bin/gpxe.dsk
70         $(MAKE) $(MFLAGS) EMBEDDED_IMAGE=pxeDHCP.gpxe,pxeSTATIC.gpxe -C $(GPXEDIR)/src -f Makefile bin/gpxe.iso
71         $(MAKE) $(MFLAGS) EMBEDDED_IMAGE=pxeDHCP.gpxe,pxeSTATIC.gpxe -C $(GPXEDIR)/src -f Makefile bin/gpxe.sdsk
72         $(MAKE) $(MFLAGS) EMBEDDED_IMAGE=pxeDHCP.gpxe,pxeSTATIC.gpxe -C $(GPXEDIR)/src -f Makefile bin/gpxe.pxe
73         $(MAKE) $(MFLAGS) EMBEDDED_IMAGE=pxeDHCP.gpxe,pxeSTATIC.gpxe -C $(GPXEDIR)/src -f Makefile bin/gpxe.lkrn
74         $(MAKE) $(MFLAGS) EMBEDDED_IMAGE=pxeDHCP.gpxe,pxeSTATIC.gpxe -C $(GPXEDIR)/src -f Makefile bin/undionly.kpxe
75         mv $(GPXEDIR)/src/bin/gpxe.usb $(GPXEDIR)/src/bin/gpxe.dsk $(GPXEDIR)/src/bin/gpxe.iso gpxe_images/
76         mv $(GPXEDIR)/src/bin/gpxe.sdsk $(GPXEDIR)/src/bin/gpxe.pxe $(GPXEDIR)/src/bin/undionly.kpxe $(GPXEDIR)/src/bin/gpxe.lkrn gpxe_images/
77         
78
79 $(patsubst %,%.clean,$(DIRS)):
80         $(MAKE) $(MFLAGS) -C $(patsubst %.clean,%,$@) -f Makefile clean
81
82 $(patsubst %,%.clean,$(GPXEDIR)):
83         $(MAKE) $(MFLAGS) -C $(patsubst %.clean,%,$@)/src -f Makefile clean
84
85