xref: /relibc/openlibm/Make.inc (revision 3fda504f47ace5760052b4b5d6eb051127941203)
1e8bf3685SViral B. Shah# -*- mode: makefile-gmake -*-
2e8bf3685SViral B. Shah
3adb103acSKeno FischerOS = $(shell uname)
4adb103acSKeno FischerARCH = $(shell uname -m)
556811b08SViral B. Shah
6e8bf3685SViral B. ShahFC = gfortran
71bbda186SSébastien VillemotFFLAGS += -O3
8e8bf3685SViral B. Shah
956811b08SViral B. ShahUSEGCC = 1
1056811b08SViral B. ShahUSECLANG = 0
1156811b08SViral B. Shah
12*3fda504fSJameson 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
1375ba4267SMike Nolta
1456811b08SViral B. Shahifeq ($(USECLANG),1)
1556811b08SViral B. ShahUSEGCC = 0
1656811b08SViral B. ShahCC = clang
17*3fda504fSJameson NashCFLAGS_add += -fno-builtin
1856811b08SViral B. Shahendif
1956811b08SViral B. Shah
2056811b08SViral B. Shahifeq ($(USEGCC),1)
2156811b08SViral B. ShahCC = gcc
22*3fda504fSJameson NashCFLAGS_add += -fno-gnu89-inline
2356811b08SViral B. Shahendif
2407085279SJameson NashAR = ar
25ccd319c0SViral B. Shah
26f5fb9274SViral B. Shahdefault: all
27f5fb9274SViral B. Shah
28f0862df1SKeno Fischer%.c.o: %.c
29*3fda504fSJameson Nash	$(CC) $(CPPFLAGS) $(CFLAGS_add) $(CFLAGS) -c $< -o $@
30e8bf3685SViral B. Shah
31e8bf3685SViral B. Shah%.f.o: %.f
32e8bf3685SViral B. Shah	$(FC) $(FFLAGS) -c $< -o $@
33ccd319c0SViral B. Shah
34f0862df1SKeno Fischer%.S.o: %.S
35*3fda504fSJameson Nash	$(CC) $(SFLAGS) $(filter -m% -B% -I% -D%,$(CFLAGS_add)) -c $< -o $@
36f0862df1SKeno Fischer
37ccd319c0SViral B. Shahclean:
381ac594e4SViral B. Shah	rm -fr *.o *.c.o *.S.o *~ test-double test-float test-double-system test-float-system *.dSYM
39ccd319c0SViral B. Shah
40ccd319c0SViral B. Shah# OS-specific stuff
41307d7361SKeno Fischerifeq ($(ARCH),i386)
42307d7361SKeno Fischeroverride ARCH = i387
43307d7361SKeno Fischerendif
44307d7361SKeno Fischer
45307d7361SKeno Fischerifeq ($(ARCH),x86_64)
46307d7361SKeno Fischeroverride ARCH = amd64
47307d7361SKeno Fischerendif
480df00dd0SJameson Nash
49adb103acSKeno Fischerifeq ($(ARCH),i686)
5011a4ec0eSKeno Fischeroverride ARCH = i387
51adb103acSKeno Fischerendif
52adb103acSKeno Fischer
530df00dd0SJameson Nashifeq ($(OS), MINGW32_NT-6.1)
540df00dd0SJameson NashOS=WINNT
55*3fda504fSJameson Nashendif
56*3fda504fSJameson Nash#keep these if statements these separate
57*3fda504fSJameson Nashifeq ($(OS), WINNT)
58*3fda504fSJameson NashCFLAGS_add+=-nodefaultlibs
59e8bf3685SViral B. ShahFFLAGS+=-nodefaultlibs
600df00dd0SJameson Nashendif
610df00dd0SJameson Nash
62ccd319c0SViral B. Shahifeq ($(OS), Linux)
63ccd319c0SViral B. ShahSHLIB_EXT = so
64*3fda504fSJameson NashCFLAGS_add+=-fPIC
65e8bf3685SViral B. ShahFFLAGS+=-fPIC
660df00dd0SJameson Nashendif
670df00dd0SJameson Nash
680df00dd0SJameson Nashifeq ($(OS), FreeBSD)
690df00dd0SJameson NashSHLIB_EXT = so
70*3fda504fSJameson NashCFLAGS_add+=-fPIC
71e8bf3685SViral B. ShahFFLAGS+=-fPIC
72ccd319c0SViral B. Shahendif
73ccd319c0SViral B. Shah
74ccd319c0SViral B. Shahifeq ($(OS), Darwin)
75ccd319c0SViral B. ShahSHLIB_EXT = dylib
76*3fda504fSJameson NashCFLAGS_add+=-fPIC
77e8bf3685SViral B. ShahFFLAGS+=-fPIC
780df00dd0SJameson Nashendif
790df00dd0SJameson Nash
800df00dd0SJameson Nashifeq ($(OS), WINNT)
810df00dd0SJameson NashSHLIB_EXT = dll
82ccd319c0SViral B. Shahendif
83