diff options
-rw-r--r-- | rbutil/mkamsboot/Makefile | 52 |
1 files changed, 38 insertions, 14 deletions
diff --git a/rbutil/mkamsboot/Makefile b/rbutil/mkamsboot/Makefile index 17baa1177c..a5ab42157c 100644 --- a/rbutil/mkamsboot/Makefile +++ b/rbutil/mkamsboot/Makefile | |||
@@ -22,30 +22,54 @@ endif | |||
22 | 22 | ||
23 | CC?= gcc | 23 | CC?= gcc |
24 | 24 | ||
25 | ifdef RBARCH | ||
26 | CFLAGS += -arch $(RBARCH) | ||
27 | endif | ||
28 | |||
29 | OUT = build$(RBARCH) | ||
30 | |||
25 | all: $(OUTPUT) | 31 | all: $(OUTPUT) |
26 | 32 | ||
27 | $(LIBUCL): | 33 | $(LIBUCL): |
28 | make -C ../../tools/ucl/src libucl.a | 34 | make -C ../../tools/ucl/src libucl.a |
29 | 35 | ||
30 | # This file can be generated in the dualboot/ directory | 36 | # This file can be generated in the dualboot/ directory |
31 | dualboot.o: dualboot.c | 37 | $(OUT)/dualboot.o: dualboot.c |
32 | $(CC) $(CFLAGS) -c -o dualboot.o dualboot.c | 38 | $(CC) $(CFLAGS) -c -o $(OUT)/dualboot.o dualboot.c |
39 | |||
40 | $(OUT)/md5.o: md5.c md5.h | ||
41 | $(CC) $(CFLAGS) -c -o $(OUT)/md5.o -W -Wall md5.c | ||
33 | 42 | ||
34 | md5.o: md5.c md5.h | 43 | $(OUT)/mkamsboot.o: mkamsboot.c dualboot.h md5.h |
35 | $(CC) $(CFLAGS) -c -o md5.o -W -Wall md5.c | 44 | $(CC) $(CFLAGS) -c -o $(OUT)/mkamsboot.o -W -Wall mkamsboot.c -DVERSION=\"$(APPVERSION)\" |
36 | 45 | ||
37 | mkamsboot.o: mkamsboot.c dualboot.h md5.h | 46 | $(OUTPUT): $(OUT) $(OUT)/mkamsboot.o $(OUT)/md5.o $(OUT)/dualboot.o $(LIBUCL) |
38 | $(CC) $(CFLAGS) -c -o mkamsboot.o -W -Wall mkamsboot.c -DVERSION=\"$(APPVERSION)\" | 47 | $(CC) $(CFLAGS) -o $(OUTPUT) $(OUT)/mkamsboot.o $(OUT)/md5.o $(OUT)/dualboot.o $(LIBUCL) |
39 | 48 | ||
40 | $(OUTPUT): mkamsboot.o md5.o dualboot.o $(LIBUCL) | 49 | $(OUT)/libmkamsboot.o: mkamsboot.c dualboot.h md5.h |
41 | $(CC) $(CFLAGS) -o $(OUTPUT) mkamsboot.o md5.o dualboot.o $(LIBUCL) | 50 | $(CC) $(CFLAGS) -DLIB -c -o $(OUT)/libmkamsboot.o -W -Wall mkamsboot.c |
42 | 51 | ||
43 | libmkamsboot.o: mkamsboot.c dualboot.h md5.h | 52 | libmkamsboot$(RBARCH).a: $(OUT) $(OUT)/libmkamsboot.o $(OUT)/md5.o $(OUT)/dualboot.o |
44 | $(CC) $(CFLAGS) -DLIB -c -o libmkamsboot.o -W -Wall mkamsboot.c | 53 | $(AR) ruv libmkamsboot$(RBARCH).a $(OUT)/libmkamsboot.o $(OUT)/md5.o $(OUT)/dualboot.o |
45 | 54 | ||
46 | libmkamsboot.a: libmkamsboot.o md5.o dualboot.o | 55 | # some trickery to build ppc and i386 from a single call |
47 | $(AR) ruv libmkamsboot.a libmkamsboot.o md5.o dualboot.o | 56 | ifeq ($(RBARCH),) |
57 | libmkamsbooti386.a: | ||
58 | make RBARCH=i386 libmkamsbooti386.a | ||
48 | 59 | ||
60 | libmkamsbootppc.a: | ||
61 | make RBARCH=ppc libmkamsbootppc.a | ||
62 | endif | ||
63 | |||
64 | libmkamsboot-universal: libmkamsbooti386.a libmkamsbootppc.a | ||
65 | @echo lipo libmkamsboot.a | ||
66 | $(SILENT) rm -f libmkamsboot.a | ||
67 | lipo -create libmkamsbootppc.a libmkamsbooti386.a -output libmkamsboot.a | ||
68 | |||
49 | clean: | 69 | clean: |
50 | rm -f $(OUTPUT) mkamsboot.o *~ md5.o dualboot.o \ | 70 | rm -f $(OUTPUT) libmkamsboot.o libmkamsboot*.a |
51 | libmkamsboot.o libmkamsboot.a | 71 | rm -rf build* |
72 | |||
73 | build$(RBARCH): | ||
74 | @echo MKDIR build$(RBARCH) | ||
75 | $(SILENT)mkdir build$(RBARCH) \ No newline at end of file | ||