From 484fa304671bb9244113254e752870144b9f14e7 Mon Sep 17 00:00:00 2001 From: osm0sis Date: Wed, 13 Dec 2017 04:35:23 -0400 Subject: Makefile: allow cross-compile to Darwin (macOS), cleanups --- Makefile | 27 ++++++++++++++------------- libmincrypt/Makefile | 2 ++ 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/Makefile b/Makefile index 52889d7a..ff098bb5 100755 --- a/Makefile +++ b/Makefile @@ -1,5 +1,7 @@ # Andrew Huang +ifeq ($(CC),cc) CC = gcc +endif AR = ar rcv ifeq ($(windir),) EXE = @@ -11,40 +13,39 @@ endif CFLAGS = -ffunction-sections -O3 -UNAME_S := $(shell uname -s) +ifneq (,$(findstring darwin,$(CROSS_COMPILE))) + UNAME_S := Darwin +else + UNAME_S := $(shell uname -s) +endif ifeq ($(UNAME_S),Darwin) LDFLAGS += -Wl,-dead_strip else - LDFLAGS += -Wl,--gc-sections + LDFLAGS += -Wl,--gc-sections -s endif all:libmincrypt.a mkbootimg$(EXE) unpackbootimg$(EXE) -static:libmincrypt.a mkbootimg-static$(EXE) unpackbootimg-static$(EXE) +static: + make LDFLAGS="$(LDGLAGS) -static" libmincrypt.a: make -C libmincrypt mkbootimg$(EXE):mkbootimg.o - $(CROSS_COMPILE)$(CC) -o $@ $^ -L. -lmincrypt $(LDFLAGS) -s - -mkbootimg-static$(EXE):mkbootimg.o - $(CROSS_COMPILE)$(CC) -o $@ $^ -L. -lmincrypt $(LDFLAGS) -static -s + $(CROSS_COMPILE)$(CC) -o $@ $^ -L. -lmincrypt $(LDFLAGS) mkbootimg.o:mkbootimg.c $(CROSS_COMPILE)$(CC) -o $@ $(CFLAGS) -c $< -I. -Werror unpackbootimg$(EXE):unpackbootimg.o - $(CROSS_COMPILE)$(CC) -o $@ $^ $(LDFLAGS) -s - -unpackbootimg-static$(EXE):unpackbootimg.o - $(CROSS_COMPILE)$(CC) -o $@ $^ $(LDFLAGS) -static -s + $(CROSS_COMPILE)$(CC) -o $@ $^ $(LDFLAGS) unpackbootimg.o:unpackbootimg.c $(CROSS_COMPILE)$(CC) -o $@ $(CFLAGS) -c $< -Werror clean: - $(RM) mkbootimg mkbootimg-static mkbootimg.o unpackbootimg unpackbootimg-static unpackbootimg.o mkbootimg.exe mkbootimg-static.exe unpackbootimg.exe unpackbootimg-static.exe - $(RM) libmincrypt.a Makefile.~ + $(RM) mkbootimg unpackbootimg + $(RM) *.a *.~ *.exe *.o make -C libmincrypt clean diff --git a/libmincrypt/Makefile b/libmincrypt/Makefile index a5fd66b3..ad482de9 100755 --- a/libmincrypt/Makefile +++ b/libmincrypt/Makefile @@ -1,4 +1,6 @@ +ifeq ($(CC),cc) CC = gcc +endif AR = ar rc ifeq ($(windir),) RM = rm -f -- cgit v1.2.3