xref: /relibc/openlibm/Make.inc (revision 251814ebb35de3712e75b1b1b90d47eec1c568e4)
1e8bf3685SViral B. Shah# -*- mode: makefile-gmake -*-
2e8bf3685SViral B. Shah
3bcefcc3dSJameson NashOS := $(shell uname)
471d942f7SViral B. ShahVERSION = 0.1.0
571d942f7SViral B. ShahVERSION_SPLIT = $(subst ., , $(VERSION))
671d942f7SViral B. ShahDESTDIR =
771d942f7SViral B. ShahPREFIX = /usr/local
871d942f7SViral B. Shahlibdir = $(PREFIX)/lib
956811b08SViral B. Shah
10e8bf3685SViral B. ShahFC = gfortran
111bbda186SSébastien VillemotFFLAGS += -O3
12e8bf3685SViral B. Shah
1356811b08SViral B. ShahUSEGCC = 1
1456811b08SViral B. ShahUSECLANG = 0
1556811b08SViral B. Shah
1629af332fSViral B. Shahifeq ($(OS), Darwin)
1729af332fSViral B. ShahUSEGCC = 0
1829af332fSViral B. ShahUSECLANG = 1
1929af332fSViral B. Shahendif
2029af332fSViral B. Shah
2129af332fSViral B. ShahAR = ar
2275ba4267SMike Nolta
2356811b08SViral B. Shahifeq ($(USECLANG),1)
2456811b08SViral B. ShahUSEGCC = 0
2556811b08SViral B. ShahCC = clang
263fda504fSJameson NashCFLAGS_add += -fno-builtin
2756811b08SViral B. Shahendif
2856811b08SViral B. Shah
2956811b08SViral B. Shahifeq ($(USEGCC),1)
3056811b08SViral B. ShahCC = gcc
313fda504fSJameson NashCFLAGS_add += -fno-gnu89-inline
3256811b08SViral B. Shahendif
33ccd319c0SViral B. Shah
34bcefcc3dSJameson NashARCH := $(shell $(CC) -dumpmachine | sed "s/\([^-]*\).*$$/\1/")
35f948e55cSJameson Nashifeq ($(ARCH),mingw32)
36f948e55cSJameson Nash$(error "the mingw32 compiler you are using fails the openblas testsuite. please see the Julia README.windows.md document for a replacement")
37f948e55cSJameson Nashendif
38bcefcc3dSJameson Nash
39bcefcc3dSJameson NashCFLAGS_add += -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
40bcefcc3dSJameson Nash
41f5fb9274SViral B. Shahdefault: all
42f5fb9274SViral B. Shah
43f0862df1SKeno Fischer%.c.o: %.c
443fda504fSJameson Nash	$(CC) $(CPPFLAGS) $(CFLAGS_add) $(CFLAGS) -c $< -o $@
45e8bf3685SViral B. Shah
46e8bf3685SViral B. Shah%.f.o: %.f
47e8bf3685SViral B. Shah	$(FC) $(FFLAGS) -c $< -o $@
48ccd319c0SViral B. Shah
49f0862df1SKeno Fischer%.S.o: %.S
503fda504fSJameson Nash	$(CC) $(SFLAGS) $(filter -m% -B% -I% -D%,$(CFLAGS_add)) -c $< -o $@
51f0862df1SKeno Fischer
52ccd319c0SViral B. Shah# OS-specific stuff
53307d7361SKeno Fischerifeq ($(ARCH),i386)
54bcefcc3dSJameson Nashoverride ARCH := i387
55307d7361SKeno Fischerendif
56bb082acaSJameson Nashifeq ($(ARCH),i486)
57bb082acaSJameson Nashoverride ARCH := i387
58bb082acaSJameson Nashendif
59bb082acaSJameson Nashifeq ($(ARCH),i686)
60bb082acaSJameson Nashoverride ARCH := i387
61bb082acaSJameson Nashendif
62307d7361SKeno Fischer
63307d7361SKeno Fischerifeq ($(ARCH),x86_64)
64bcefcc3dSJameson Nashoverride ARCH := amd64
65307d7361SKeno Fischerendif
660df00dd0SJameson Nash
6713cc5795SJameson Nashifneq (,$(findstring MINGW,$(OS)))
6813cc5795SJameson Nashoverride OS=WINNT
693fda504fSJameson Nashendif
703fda504fSJameson Nash#keep these if statements these separate
713fda504fSJameson Nashifeq ($(OS), WINNT)
72*251814ebSMilan Bouchet-ValatSHLIB_EXT = dll
73*251814ebSMilan Bouchet-ValatSONAME_FLAG = -soname
743fda504fSJameson NashCFLAGS_add+=-nodefaultlibs
75e8bf3685SViral B. ShahFFLAGS+=-nodefaultlibs
760df00dd0SJameson Nashendif
770df00dd0SJameson Nash
78ccd319c0SViral B. Shahifeq ($(OS), Linux)
79ccd319c0SViral B. ShahSHLIB_EXT = so
80*251814ebSMilan Bouchet-ValatSONAME_FLAG = -soname
813fda504fSJameson NashCFLAGS_add+=-fPIC
82e8bf3685SViral B. ShahFFLAGS+=-fPIC
830df00dd0SJameson Nashendif
840df00dd0SJameson Nash
850df00dd0SJameson Nashifeq ($(OS), FreeBSD)
860df00dd0SJameson NashSHLIB_EXT = so
87*251814ebSMilan Bouchet-ValatSONAME_FLAG = -soname
883fda504fSJameson NashCFLAGS_add+=-fPIC
89e8bf3685SViral B. ShahFFLAGS+=-fPIC
90ccd319c0SViral B. Shahendif
91ccd319c0SViral B. Shah
92ccd319c0SViral B. Shahifeq ($(OS), Darwin)
93ccd319c0SViral B. ShahSHLIB_EXT = dylib
94*251814ebSMilan Bouchet-ValatSONAME_FLAG = -install_name
953fda504fSJameson NashCFLAGS_add+=-fPIC
96e8bf3685SViral B. ShahFFLAGS+=-fPIC
970df00dd0SJameson Nashendif
98