]> code.delx.au - refind/blob - gptsync/Make.unix
Fix for refind-install script to handle a wider range of disk devices,
[refind] / gptsync / Make.unix
1 #
2 # Makefile for gptsync on Unix platforms
3 #
4
5 RM = rm -f
6 CC = gcc
7
8 GPTSYNC_TARGET = gptsync
9 GPTSYNC_OBJS = gptsync.unix.o lib.unix.o os_unix.gptsync.o
10
11 SHOWPART_TARGET = showpart
12 SHOWPART_OBJS = showpart.unix.o lib.unix.o os_unix.showpart.o
13
14 CPPFLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I../include
15 CFLAGS = -Wall
16 LDFLAGS =
17 LIBS =
18
19 # system-dependent additions
20
21 system = $(shell uname)
22 ifeq ($(system),Darwin)
23 CC = gcc-4.0
24 # TODO: re-enable this once the code is no longer little-endian specific
25 #CFLAGS += -arch i386 -arch ppc
26 #LDFLAGS += -arch i386 -arch ppc
27 ifeq (/Developer/SDKs/MacOSX10.4u.sdk,$(wildcard /Developer/SDKs/MacOSX10.4u.sdk))
28 CPPFLAGS += -isysroot /Developer/SDKs/MacOSX10.4u.sdk
29 LDFLAGS += -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk
30 endif
31 endif
32
33 # real making
34
35 all: $(GPTSYNC_TARGET) $(SHOWPART_TARGET)
36
37 $(GPTSYNC_TARGET): $(GPTSYNC_OBJS)
38 $(CC) $(LDFLAGS) -o $@ $(GPTSYNC_OBJS) $(LIBS)
39
40 gptsync.unix.o: gptsync.c
41 $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
42 os_unix.gptsync.o: os_unix.c
43 $(CC) $(CPPFLAGS) -DPROGNAME=gptsync $(CFLAGS) -c $< -o $@
44
45 $(SHOWPART_TARGET): $(SHOWPART_OBJS)
46 $(CC) $(LDFLAGS) -o $@ $(SHOWPART_OBJS) $(LIBS)
47
48 showpart.unix.o: showpart.c
49 $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
50 os_unix.showpart.o: os_unix.c
51 $(CC) $(CPPFLAGS) -DPROGNAME=showpart -DNOREADONLYWARN $(CFLAGS) -c $< -o $@
52
53 lib.unix.o: lib.c
54 $(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
55
56 # additional dependencies
57
58 gptsync.unix.o: gptsync.h ../include/syslinux_mbr.h
59 os_unix.gptsync.o: gptsync.h
60
61 showpart.unix.o: gptsync.h
62 os_unix.showpart.o: gptsync.h
63
64 lib.unix.o: gptsync.h
65
66 # cleanup
67
68 clean:
69 $(RM) *.o *~ *% $(GPTSYNC_TARGET) $(SHOWPART_TARGET)
70
71 distclean: clean
72 $(RM) .depend
73
74 # eof