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