1 |
VERSION=$(shell cat ../VERSION) |
# |
2 |
|
# Makefile |
3 |
|
# |
4 |
|
# Copyright 2007-2009 Red Hat, Inc. All rights reserved. |
5 |
|
# |
6 |
|
# This program is free software; you can redistribute it and/or modify |
7 |
|
# it under the terms of the GNU General Public License as published by |
8 |
|
# the Free Software Foundation; either version 2 of the License, or |
9 |
|
# (at your option) any later version. |
10 |
|
# |
11 |
|
# This program is distributed in the hope that it will be useful, |
12 |
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 |
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 |
|
# GNU General Public License for more details. |
15 |
|
# |
16 |
|
# You should have received a copy of the GNU General Public License |
17 |
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. |
18 |
|
# |
19 |
|
|
20 |
|
VERSION=$(shell cat VERSION) |
21 |
|
|
22 |
|
TARGETS = grubby |
23 |
|
OBJECTS = grubby.o |
24 |
|
|
25 |
|
CC = gcc |
26 |
|
RPM_OPT_FLAGS := -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector |
27 |
|
CFLAGS += $(RPM_OPT_FLAGS) -std=gnu99 -Wall -Werror -Wno-error=unused-function -Wno-unused-function -ggdb |
28 |
|
LDFLAGS := |
29 |
|
|
30 |
|
grubby_LIBS = -lblkid -lpopt |
31 |
|
|
32 |
|
sbindir = /usr/sbin |
33 |
|
mandir = /usr/share/man |
34 |
|
|
35 |
|
all: grubby |
36 |
|
|
37 |
ARCH := $(patsubst i%86,i386,$(shell uname -m)) |
debug : clean |
38 |
ARCH := $(patsubst sparc%,sparc,$(ARCH)) |
$(MAKE) CFLAGS="${CFLAGS} -DDEBUG=1" all |
|
ARCH := $(patsubst ppc%,ppc,$(ARCH)) |
|
39 |
|
|
40 |
CFLAGS = -Wall -g $(OPTCFLAGS) -DVERSION=\"$(VERSION)\" |
%.o : %.c |
41 |
LDFLAGS = -g |
$(CC) $(CFLAGS) -DVERSION='"$(VERSION)"' -c -o $@ $< |
42 |
|
|
43 |
LOADLIBES = -lpopt |
test: all |
44 |
|
@export TOPDIR=$(TOPDIR) |
|
all: grubby |
|
|
|
|
|
test: all |
|
45 |
@./test.sh |
@./test.sh |
46 |
|
|
47 |
install: all |
install: all |
48 |
mkdir -p $(DESTDIR)/sbin |
mkdir -p $(DESTDIR)/$(sbindir) |
49 |
mkdir -p $(DESTDIR)/usr/share/man/man8 |
mkdir -p $(DESTDIR)/$(mandir)/man8 |
50 |
install -m 755 new-kernel-pkg $(DESTDIR)/sbin |
install -m 755 new-kernel-pkg $(DESTDIR)/$(sbindir) |
51 |
|
install -m 644 new-kernel-pkg.8 $(DESTDIR)/$(mandir)/man8 |
52 |
|
install -m 755 installkernel $(DESTDIR)/$(sbindir) |
53 |
|
install -m 644 installkernel.8 $(DESTDIR)/$(mandir)/man8 |
54 |
if [ -f grubby ]; then \ |
if [ -f grubby ]; then \ |
55 |
install -m 755 grubby $(DESTDIR)/sbin ; \ |
install -m 755 grubby $(DESTDIR)/$(sbindir) ; \ |
56 |
install -m 644 grubby.8 $(DESTDIR)/usr/share/man/man8 ; \ |
install -m 644 grubby.8 $(DESTDIR)/$(mandir)/man8 ; \ |
57 |
fi |
fi |
58 |
|
|
59 |
grubby: grubby.o mount_by_label.o |
grubby:: $(OBJECTS) |
60 |
$(CC) -o $@ $^ -Wl,-Bstatic $(LOADLIBES) -Wl,-Bdynamic $(CFLAGS) $(LDFLAGS) |
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(grubby_LIBS) |
|
|
|
|
%.o: %.c |
|
|
$(CC) -c $(CFLAGS) -o $@ $< |
|
61 |
|
|
62 |
clean: |
clean: |
63 |
rm -f grubby *.o |
rm -f *.o grubby *~ |