summaryrefslogtreecommitdiff
path: root/cgpt/Makefile
blob: 546656d34531dec33072bff545af1d8bba37edef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

BUILD_ROOT := ${BUILD}/cgpt

INCLUDES = -I$(FWDIR)/lib/cgptlib/include -I$(FWDIR)/include
LIBS = ${HOSTLIB}
LDLIBS += -luuid
LDFLAGS += -static

DESTDIR ?= /usr/bin

PROGNAME = ${BUILD_ROOT}/cgpt

LIB_CGPT_CC = ${BUILD_ROOT}/libcgpt-cc.a

ALL_SRCS = \
	cgpt.c \
	cgpt_create.c \
	cgpt_add.c \
	cgpt_boot.c \
	cgpt_show.c \
	cgpt_repair.c \
	cgpt_prioritize.c \
	cgpt_find.c \
	cmd_show.c \
	cmd_repair.c \
	cmd_create.c \
	cmd_add.c \
	cmd_boot.c \
	cmd_find.c \
	cmd_prioritize.c \
	cgpt_common.c

LIB_CGPT_CC_SRCS = \
	CgptManager.cc \
	cgpt_create.c \
	cgpt_add.c \
	cgpt_boot.c \
	cgpt_show.c \
	cgpt_repair.c \
	cgpt_prioritize.c \
	cgpt_common.c \
	../firmware/lib/cgptlib/crc32.c \
	../firmware/lib/cgptlib/cgptlib_internal.c \
	../firmware/stub/utility_stub.c

main: $(PROGNAME)

include ../common.mk

LIB_CGPT_CC_OBJS = $(filter %.o, \
	$(LIB_CGPT_CC_SRCS:%.c=${BUILD_ROOT}/%.o) \
	$(LIB_CGPT_CC_SRCS:%.cc=${BUILD_ROOT}/%.o))
LIB_CGPT_CC_DEPS = $(LIB_CGPT_CC_OBJS:%.o=%.o.d)

libcgpt_cc: $(LIB_CGPT_CC)

$(LIB_CGPT_CC): $(LIB_CGPT_CC_OBJS)
	rm -f $@
	ar qc $@ $^

$(PROGNAME): $(ALL_OBJS) $(LIBS)
	$(CC) -o $(PROGNAME) $(CFLAGS) $(LDFLAGS) $^ $(LDLIBS)

install: $(PROGNAME)
	mkdir -p $(DESTDIR)
	cp -f $^ $(DESTDIR)
	chmod a+rx $(patsubst ${BUILD_ROOT}/%,$(DESTDIR)/%,$^)

.PHONY: all install