Unify -fPIC handling, improve windows building

This commit is contained in:
XVilka 2015-10-09 18:58:03 +03:00
parent 92611cb9dc
commit 381c9fbd6a
11 changed files with 49 additions and 51 deletions

View File

@ -46,5 +46,6 @@ endif
$(CC) -c $(CFLAGS) -o $@ $< $(CC) -c $(CFLAGS) -o $@ $<
-include $(TOP)/config-user.mk -include $(TOP)/config-user.mk
-include $(TOP)/mk/platform.mk
-include $(TOP)/mk/${COMPILER}.mk -include $(TOP)/mk/${COMPILER}.mk
endif endif

View File

@ -1,6 +1,7 @@
include ../global.mk include ../global.mk
include config.mk include config.mk
include ../config-user.mk include ../config-user.mk
include ../mk/platform.mk
include ../mk/${COMPILER}.mk include ../mk/${COMPILER}.mk
DESTDIR:=$(call rmbdlslash,$(DESTDIR)) DESTDIR:=$(call rmbdlslash,$(DESTDIR))

View File

@ -15,18 +15,6 @@ CFLAGS_OPT2=-O2
CFLAGS_OPT3=-O3 CFLAGS_OPT3=-O3
CFLAGS_DEBUG=-g CFLAGS_DEBUG=-g
ifeq ($(OSTYPE),auto)
OSTYPE=$(shell uname | tr 'A-Z' 'a-z')
endif
ifneq (,$(findstring cygwin,${OSTYPE}))
PIC_CFLAGS=
else
ifneq (,$(findstring mingw32,${OSTYPE}))
PIC_CFLAGS=
else
PIC_CFLAGS=-fPIC
endif
endif
ifeq ($(OSTYPE),darwin) ifeq ($(OSTYPE),darwin)
ARCH=$(shell uname -m) ARCH=$(shell uname -m)
#CFLAGS+=-arch ${ARCH} #CFLAGS+=-arch ${ARCH}

View File

@ -15,26 +15,6 @@ CFLAGS_OPT2=-O2
CFLAGS_OPT3=-O3 CFLAGS_OPT3=-O3
CFLAGS_DEBUG=-g CFLAGS_DEBUG=-g
ifeq ($(OSTYPE),auto)
OSTYPE=$(shell uname | tr 'A-Z' 'a-z')
endif
ifneq (,$(findstring cygwin,${OSTYPE}))
PIC_CFLAGS=
else
ifneq (,$(findstring mingw32,${OSTYPE}))
PIC_CFLAGS=
else
ifneq (,$(findstring mingw64,${OSTYPE}))
PIC_CFLAGS=
else
ifneq (,$(findstring msys,${OSTYPE}))
PIC_CFLAGS=
else
PIC_CFLAGS=-fPIC
endif
endif
endif
endif
ifeq ($(OSTYPE),darwin) ifeq ($(OSTYPE),darwin)
ARCH=$(shell uname -m) ARCH=$(shell uname -m)
#CFLAGS+=-arch ${ARCH} #CFLAGS+=-arch ${ARCH}

21
mk/platform.mk Executable file
View File

@ -0,0 +1,21 @@
ifeq ($(OSTYPE),auto)
OSTYPE=$(shell uname | tr 'A-Z' 'a-z')
endif
ifneq (,$(findstring cygwin,${OSTYPE}))
PIC_CFLAGS=
else
ifneq (,$(findstring mingw32,${OSTYPE}))
PIC_CFLAGS=
else
ifneq (,$(findstring mingw64,${OSTYPE}))
PIC_CFLAGS=
else
ifneq (,$(findstring msys,${OSTYPE}))
PIC_CFLAGS=
else
PIC_CFLAGS=-fPIC
endif
endif
endif
endif

View File

@ -12,18 +12,6 @@ CFLAGS_OPT1=-O1
CFLAGS_OPT2=-O2 CFLAGS_OPT2=-O2
CFLAGS_OPT3=-O3 CFLAGS_OPT3=-O3
ifeq ($(OSTYPE),auto)
OSTYPE=$(shell uname | tr 'A-Z' 'a-z')
endif
ifneq (,$(findstring cygwin,$(OSTYPE)))
PIC_CFLAGS=
else
ifneq (,$(findstring mingw32,${OSTYPE}))
PIC_CFLAGS=
else
PIC_CFLAGS=-fPIC
endif
endif
ifeq ($(OSTYPE),darwin) ifeq ($(OSTYPE),darwin)
LDFLAGS_LIB=-dynamiclib LDFLAGS_LIB=-dynamiclib
LDFLAGS_SONAME=-Wl,-install_name, LDFLAGS_SONAME=-Wl,-install_name,

View File

@ -2,6 +2,7 @@ include ../global.mk
include ../config-user.mk include ../config-user.mk
# for EXT_EXE # for EXT_EXE
include ../libr/config.mk include ../libr/config.mk
include ../mk/platform.mk
_INCLUDE_MK_GCC_= _INCLUDE_MK_GCC_=
include ../mk/${COMPILER}.mk include ../mk/${COMPILER}.mk

View File

@ -2,6 +2,7 @@ NAME=grubfs
include ../../config-user.mk include ../../config-user.mk
include ../../global.mk include ../../global.mk
include ../../mk/platform.mk
NAME=grubfs NAME=grubfs
_INCLUDE_MK_GCC_= _INCLUDE_MK_GCC_=
include ../../libr/config.mk include ../../libr/config.mk
@ -64,13 +65,20 @@ CFLAGS+=-Iinclude
CFLAGS+=-I../../libr/include -DGRUB_TARGET_NO_MODULES CFLAGS+=-I../../libr/include -DGRUB_TARGET_NO_MODULES
CFLAGS+=-g CFLAGS+=-g
ifeq (,$(findstring cygwin,${OSTYPE})) ifneq (,$(findstring cygwin,${OSTYPE}))
ifeq (,$(findstring mingw32,${OSTYPE})) CFLAGS+=-D__CYGWIN__=1
CFLAGS+=-fPIC
else else
ifneq (,$(findstring mingw32,${OSTYPE}))
CFLAGS+=-DMINGW32=1 CFLAGS+=-DMINGW32=1
else
ifneq (,$(findstring mingw64,${OSTYPE})$(findstring msys,${OSTYPE}))
LFDLAGS_SHARE?=-shared
else
CFLAGS+=${PIC_CFLAGS}
endif endif
endif endif
endif
# This fixes a silly GNU gcc build problem in OSX - BLAME! :D # This fixes a silly GNU gcc build problem in OSX - BLAME! :D
ifeq (${OSTYPE},darwin) ifeq (${OSTYPE},darwin)
CFLAGS+=-DAPPLE_CC CFLAGS+=-DAPPLE_CC

View File

@ -1,4 +1,5 @@
include ../../config-user.mk include ../../config-user.mk
include ../../mk/platform.mk
include ../../mk/${COMPILER}.mk include ../../mk/${COMPILER}.mk
ifneq (,$(findstring cygwin,${OSTYPE})) ifneq (,$(findstring cygwin,${OSTYPE}))
@ -15,7 +16,12 @@ SOVER=${EXT_SO}
LDFLAGS+=-shared LDFLAGS+=-shared
LDFLAGS_SHARED?=-shared LDFLAGS_SHARED?=-shared
else else
CFLAGS+=-fPIC ifneq (,$(findstring mingw64,${OSTYPE})$(findstring msys,${OSTYPE}))
LDFLAGS+=-shared
LFDLAGS_SHARE?=-shared
else
CFLAGS+=${PIC_CFLAGS}
endif
endif endif
endif endif

View File

@ -3,6 +3,7 @@ LIBAR=librz.a
include ../../config-user.mk include ../../config-user.mk
include ../../libr/config.mk include ../../libr/config.mk
include ../../mk/platform.mk
include ../../mk/${COMPILER}.mk include ../../mk/${COMPILER}.mk
ifeq ($(USE_LIB_ZIP),1) ifeq ($(USE_LIB_ZIP),1)

View File

@ -1,7 +1,10 @@
include ../../../config-user.mk include ../../../config-user.mk
include ../../../libr/config.mk include ../../../libr/config.mk
include ../../../mk/platform.mk
include ../../../mk/${COMPILER}.mk include ../../../mk/${COMPILER}.mk
CFLAGS+=${PIC_CFLAGS}
ifneq (,$(findstring cygwin,${OSTYPE})) ifneq (,$(findstring cygwin,${OSTYPE}))
CFLAGS+=-D__CYGWIN__=1 CFLAGS+=-D__CYGWIN__=1
EXT_SO=dll EXT_SO=dll
@ -16,15 +19,15 @@ SOVER=${EXT_SO}
LDFLAGS+=-shared LDFLAGS+=-shared
LDFLAGS_SHARED?=-shared LDFLAGS_SHARED?=-shared
else else
CFLAGS+=-fPIC LDFLAGS_SHARED?=-shared
LDFLAGS_SHARED?=-fPIC -shared LDFLAGS_SHARED?=${PIC_CFLAGS} -shared
endif endif
endif endif
ifeq (${OSTYPE},windows) ifeq (${OSTYPE},windows)
EXT_SO=dll EXT_SO=dll
SOVER=${EXT_SO} SOVER=${EXT_SO}
LDFLAGS+=-shared LDFLAGS+=-shared
LDFLAGS_SHARED?=-fPIC -shared LDFLAGS_SHARED?=${PIC_CFLAGS} -shared
else else
ifeq (${OSTYPE},darwin) ifeq (${OSTYPE},darwin)
EXT_SO=dylib EXT_SO=dylib