[isa] Fix a small typo in isa.c.
[ipxe.git] / src / Makefile
1 ###############################################################################
2 #
3 # Initialise various variables
4 #
5
6 CLEANUP :=
7 CFLAGS :=
8 ASFLAGS :=
9 LDFLAGS :=
10 MAKEDEPS := Makefile
11
12 ###############################################################################
13 #
14 # Locations of tools
15 #
16 HOST_CC := gcc
17 RM := rm -f
18 TOUCH := touch
19 MKDIR := mkdir
20 CP := cp
21 ECHO := echo
22 PRINTF := printf
23 PERL := /usr/bin/perl
24 CC := $(CROSS_COMPILE)gcc
25 CPP := $(CROSS_COMPILE)gcc -E -Wp,-Wall
26 AS := $(CROSS_COMPILE)as
27 LD := $(CROSS_COMPILE)ld
28 SIZE := $(CROSS_COMPILE)size
29 AR := $(CROSS_COMPILE)ar
30 RANLIB := $(CROSS_COMPILE)ranlib
31 OBJCOPY := $(CROSS_COMPILE)objcopy
32 NM := $(CROSS_COMPILE)nm
33 OBJDUMP := $(CROSS_COMPILE)objdump
34 PARSEROM := $(PERL) ./util/parserom.pl
35 MAKEROM := $(PERL) ./util/makerom.pl
36 SYMCHECK := $(PERL) ./util/symcheck.pl
37 SORTOBJDUMP := $(PERL) ./util/sortobjdump.pl
38 NRV2B := ./util/nrv2b
39 ZBIN := ./util/zbin
40 EFILINK := ./util/efilink
41 DOXYGEN := doxygen
42
43 ###############################################################################
44 #
45 # SRCDIRS lists all directories containing source files.
46 #
47 SRCDIRS :=
48 SRCDIRS += libgcc
49 SRCDIRS += core
50 SRCDIRS += proto
51 SRCDIRS += net net/tcp net/udp
52 SRCDIRS += image
53 SRCDIRS += drivers/bus
54 SRCDIRS += drivers/net
55 SRCDIRS += drivers/net/e1000
56 SRCDIRS += drivers/net/phantom
57 SRCDIRS += drivers/block
58 SRCDIRS += drivers/nvs
59 SRCDIRS += drivers/bitbash
60 SRCDIRS += drivers/infiniband
61 SRCDIRS += interface/pxe interface/efi
62 SRCDIRS += tests
63 SRCDIRS += crypto crypto/axtls crypto/matrixssl
64 SRCDIRS += hci hci/commands hci/tui
65 SRCDIRS += hci/mucurses hci/mucurses/widgets
66 SRCDIRS += usr
67
68 # NON_AUTO_SRCS lists files that are excluded from the normal
69 # automatic build system.
70 #
71 NON_AUTO_SRCS :=
72 NON_AUTO_SRCS += drivers/net/prism2.c
73
74 ###############################################################################
75 #
76 # Default build target: build the most common targets and print out a
77 # helpfully suggestive message
78 #
79 all : bin/blib.a bin/gpxe.dsk bin/gpxe.iso bin/gpxe.usb bin/undionly.kpxe
80 @$(ECHO) '==========================================================='
81 @$(ECHO)
82 @$(ECHO) 'To create a bootable floppy, type'
83 @$(ECHO) ' cat bin/gpxe.dsk > /dev/fd0'
84 @$(ECHO) 'where /dev/fd0 is your floppy drive. This will erase any'
85 @$(ECHO) 'data already on the disk.'
86 @$(ECHO)
87 @$(ECHO) 'To create a bootable USB key, type'
88 @$(ECHO) ' cat bin/gpxe.usb > /dev/sdX'
89 @$(ECHO) 'where /dev/sdX is your USB key, and is *not* a real hard'
90 @$(ECHO) 'disk on your system. This will erase any data already on'
91 @$(ECHO) 'the USB key.'
92 @$(ECHO)
93 @$(ECHO) 'To create a bootable CD-ROM, burn the ISO image '
94 @$(ECHO) 'bin/gpxe.iso to a blank CD-ROM.'
95 @$(ECHO)
96 @$(ECHO) 'These images contain drivers for all supported cards. You'
97 @$(ECHO) 'can build more customised images, and ROM images, using'
98 @$(ECHO) ' make bin/<rom-name>.<output-format>'
99 @$(ECHO)
100 @$(ECHO) '==========================================================='
101
102 ###############################################################################
103 #
104 # Build targets that do nothing but might be tried by users
105 #
106 configure :
107 @$(ECHO) "No configuration needed."
108
109 install :
110 @$(ECHO) "No installation required."
111
112 ###############################################################################
113 #
114 # Version number calculations
115 #
116 VERSION_MAJOR = 0
117 VERSION_MINOR = 9
118 VERSION_PATCH = 5
119 EXTRAVERSION = +
120 MM_VERSION = $(VERSION_MAJOR).$(VERSION_MINOR)
121 VERSION = $(MM_VERSION).$(VERSION_PATCH)$(EXTRAVERSION)
122 CFLAGS += -DVERSION_MAJOR=$(VERSION_MAJOR) \
123 -DVERSION_MINOR=$(VERSION_MINOR) \
124 -DVERSION=\"$(VERSION)\"
125 IDENT = '$(@F) $(VERSION) (GPL) etherboot.org'
126 version :
127 @$(ECHO) $(VERSION)
128
129 ###############################################################################
130 #
131 # Drag in the bulk of the build system
132 #
133
134 MAKEDEPS += Makefile.housekeeping
135 include Makefile.housekeeping