From c791b29a5b2cee2e6328b7a0b6919db179c2af53 Mon Sep 17 00:00:00 2001 From: Tom Everett Date: Fri, 25 Mar 2016 10:52:06 -0600 Subject: [PATCH] detect OS and chose appropriate c compiler gcc for linux clang for OS X and FreeBSD --- build/Makefile | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/build/Makefile b/build/Makefile index ab13de8..c738909 100644 --- a/build/Makefile +++ b/build/Makefile @@ -6,9 +6,41 @@ ASARGS=--format=ptr MKFS=../tools/mkfs7 A7OUT=../tools/a7out FSCK=../tools/fsck7 -CC=gcc -Wno-multichar +CCARGS=-Wno-multichar PDP7=pdp7 +# detect OS +UNAME := $(shell uname) +ifeq ($(UNAME), Linux) +UNAME := LINUX +else +ifeq ($(UNAME), Darwin) +UNAME := DARWIN +else +ifeq ($(UNAME), FreeBSD) +UNAME := FREEBSD +endif +endif +endif + +# choose C compiler +ifeq ($(UNAME), LINUX) +# Linux +CC=gcc +else +ifeq ($(UNAME), FREEBSD) +# FreeBSD +CC=cc +else +ifeq ($(UNAME), DARWIN) +# Mac OS X +CC=cc +else +$(error "Unknown OS: " $(UNAME)) +endif +endif +endif + # source dirs SYSSRC=../src/sys CMDSRC=../src/cmd @@ -194,7 +226,7 @@ $(BINDIR)/od: $(OTHERSRC)/wktod.s # B compiler $(BINDIR)/bc: $(CMDSRC)/bl.s $(CMDSRC)/bi.s ../tools/b.c $(OTHERSRC)/b.b - $(CC) -o b ../tools/b.c + $(CC) $(CCARGS) -o b ../tools/b.c ./b $(OTHERSRC)/b.b b.s $(AS) $(ASARGS) -o $(BINDIR)/bc $(CMDSRC)/bl.s b.s $(CMDSRC)/bi.s rm b b.s