Skip to content

Commit 3fda504

Browse files
committed
support environment CFLAGS (and SFLAGS) without clobbering the essential build flags
1 parent 50ce8ef commit 3fda504

1 file changed

Lines changed: 12 additions & 9 deletions

File tree

Make.inc

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,30 +9,30 @@ FFLAGS += -O3
99
USEGCC = 1
1010
USECLANG = 0
1111

12-
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
12+
CFLAGS_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
1313

1414
ifeq ($(USECLANG),1)
1515
USEGCC = 0
1616
CC = clang
17-
CFLAGS += -fno-builtin
17+
CFLAGS_add += -fno-builtin
1818
endif
1919

2020
ifeq ($(USEGCC),1)
2121
CC = gcc
22-
CFLAGS += -fno-gnu89-inline
22+
CFLAGS_add += -fno-gnu89-inline
2323
endif
2424
AR = ar
2525

2626
default: all
2727

2828
%.c.o: %.c
29-
$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
29+
$(CC) $(CPPFLAGS) $(CFLAGS_add) $(CFLAGS) -c $< -o $@
3030

3131
%.f.o: %.f
3232
$(FC) $(FFLAGS) -c $< -o $@
3333

3434
%.S.o: %.S
35-
$(CC) $(filter -m% -B% -I% -D%,$(CFLAGS)) -c $< -o $@
35+
$(CC) $(SFLAGS) $(filter -m% -B% -I% -D%,$(CFLAGS_add)) -c $< -o $@
3636

3737
clean:
3838
rm -fr *.o *.c.o *.S.o *~ test-double test-float test-double-system test-float-system *.dSYM
@@ -52,25 +52,28 @@ endif
5252

5353
ifeq ($(OS), MINGW32_NT-6.1)
5454
OS=WINNT
55-
CFLAGS+=-nodefaultlibs
55+
endif
56+
#keep these if statements these separate
57+
ifeq ($(OS), WINNT)
58+
CFLAGS_add+=-nodefaultlibs
5659
FFLAGS+=-nodefaultlibs
5760
endif
5861

5962
ifeq ($(OS), Linux)
6063
SHLIB_EXT = so
61-
CFLAGS+=-fPIC
64+
CFLAGS_add+=-fPIC
6265
FFLAGS+=-fPIC
6366
endif
6467

6568
ifeq ($(OS), FreeBSD)
6669
SHLIB_EXT = so
67-
CFLAGS+=-fPIC
70+
CFLAGS_add+=-fPIC
6871
FFLAGS+=-fPIC
6972
endif
7073

7174
ifeq ($(OS), Darwin)
7275
SHLIB_EXT = dylib
73-
CFLAGS+=-fPIC
76+
CFLAGS_add+=-fPIC
7477
FFLAGS+=-fPIC
7578
endif
7679

0 commit comments

Comments
 (0)