1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- OS = $(shell uname)
- ARCH = $(shell uname -m)
- USEGCC = 1
- USECLANG = 0
- ifeq ($(USECLANG),1)
- USEGCC = 0
- CC = clang
- CFLAGS= -std=c99 -Wall -O3 -I$(OPENLIBM_HOME) -I$(OPENLIBM_HOME)/include -I$(OPENLIBM_HOME)/ld80 -I$(OPENLIBM_HOME)/$(ARCH) -I$(OPENLIBM_HOME)/src -DASSEMBLER -D__BSD_VISIBLE -Wno-implicit-function-declaration
- endif
- ifeq ($(USEGCC),1)
- CC = gcc
- CFLAGS= -std=c99 -Wall -O3 -I$(OPENLIBM_HOME) -I$(OPENLIBM_HOME)/include -I$(OPENLIBM_HOME)/ld80 -I$(OPENLIBM_HOME)/$(ARCH) -I$(OPENLIBM_HOME)/src -DASSEMBLER -D__BSD_VISIBLE -Wno-implicit-function-declaration
- endif
- default: all
- %.c.o: %.c
- $(QUIET_CC)$(CC) $(CFLAGS) -c $< -o $@
- %.S.o: %.S
- $(QUIET_ASM)$(CC) $(filter -f% -m% -B% -I% -D%,$(CFLAGS)) -c $< -o $@
- clean:
- rm -f *.o *.c.o *.S.o *~
- # OS-specific stuff
- ifeq ($(ARCH),i386)
- override ARCH = i387
- endif
- ifeq ($(ARCH),x86_64)
- override ARCH = amd64
- endif
- ifeq ($(ARCH),i686)
- override ARCH = i387
- endif
- ifeq ($(OS), MINGW32_NT-6.1)
- OS=WINNT
- CFLAGS+=-nodefaultlibs
- endif
- ifeq ($(OS), Linux)
- SHLIB_EXT = so
- CFLAGS+=-fPIC
- endif
- ifeq ($(OS), FreeBSD)
- SHLIB_EXT = so
- CFLAGS+=-fPIC
- endif
- ifeq ($(OS), Darwin)
- SHLIB_EXT = dylib
- CFLAGS+=-fPIC
- endif
- ifeq ($(OS), WINNT)
- SHLIB_EXT = dll
- endif
- # Colors for make
- CCCOLOR="\033[34m"
- LINKCOLOR="\033[34;1m"
- SRCCOLOR="\033[33m"
- BINCOLOR="\033[37;1m"
- MAKECOLOR="\033[32;1m"
- ENDCOLOR="\033[0m"
- QUIET_CC = @printf ' %b %b\n' $(CCCOLOR)CC$(ENDCOLOR) $(SRCCOLOR)$@$(ENDCOLOR);
- QUIET_ASM = @printf ' %b %b\n' $(CCCOLOR)ASM$(ENDCOLOR) $(SRCCOLOR)$@$(ENDCOLOR);
- QUIET_LINK = @printf ' %b %b\n' $(LINKCOLOR)LINK$(ENDCOLOR) $(BINCOLOR)$@$(ENDCOLOR);
|