550cb434fc1bbb5bccc1cc3f92dce154d9078a2e
[refind] / Makefile
1 # Makefile for rEFInd
2
3 # This program is licensed under the terms of the GNU GPL, version 3,
4 # or (at your option) any later version.
5 # You should have received a copy of the GNU General Public License
6 # along with this program. If not, see <http://www.gnu.org/licenses/>.
7
8 CC=gcc
9 CXX=g++
10 CXXFLAGS=-O2 -fpic -D_REENTRANT -D_GNU_SOURCE -Wall -g
11 NAMES=refind
12 SRCS=$(NAMES:=.c)
13 OBJS=$(NAMES:=.o)
14 HEADERS=$(NAMES:=.h)
15 LOADER_DIR=refind
16 FS_DIR=filesystems
17 LIBEG_DIR=libeg
18 MOK_DIR=mok
19 GPTSYNC_DIR=gptsync
20 EFILIB_DIR=EfiLib
21
22 # Build rEFInd, including libeg
23 all: tiano
24
25 gnuefi:
26 +make -C $(LIBEG_DIR)
27 +make -C $(MOK_DIR)
28 +make -C $(EFILIB_DIR)
29 +make -C $(LOADER_DIR)
30 +make -C $(GPTSYNC_DIR) gnuefi
31 # +make -C $(FS_DIR) all_gnuefi
32
33 fs:
34 +make -C $(FS_DIR)
35
36 fs_gnuefi:
37 +make -C $(FS_DIR) all_gnuefi
38
39 tiano:
40 +make AR_TARGET=EfiLib -C $(EFILIB_DIR) -f Make.tiano
41 +make AR_TARGET=libeg -C $(LIBEG_DIR) -f Make.tiano
42 +make AR_TARGET=mok -C $(MOK_DIR) -f Make.tiano
43 +make BUILDME=refind DLL_TARGET=refind -C $(LOADER_DIR) -f Make.tiano
44 +make -C $(GPTSYNC_DIR) -f Make.tiano
45 # +make -C $(FS_DIR)
46
47 clean:
48 make -C $(LIBEG_DIR) clean
49 make -C $(MOK_DIR) clean
50 make -C $(LOADER_DIR) clean
51 make -C $(EFILIB_DIR) clean
52 make -C $(FS_DIR) clean
53 make -C $(GPTSYNC_DIR) clean
54 rm -f include/*~
55
56 # NOTE TO DISTRIBUTION MAINTAINERS:
57 # The "install" target installs the program directly to the ESP
58 # and it modifies the *CURRENT COMPUTER's* NVRAM. Thus, you should
59 # *NOT* use this target as part of the build process for your
60 # binary packages (RPMs, Debian packages, etc.). (Gentoo could
61 # use it in an ebuild, though....) You COULD, however, copy the
62 # files to a directory somewhere (/usr/share/refind or whatever)
63 # and then call refind-install as part of the binary package
64 # installation process.
65
66 install:
67 ./refind-install
68
69 # DO NOT DELETE