Removing build warning by splitting flags for objects to be used

in shared libraries and for linking flags.
This commit is contained in:
Alex Shinn 2014-01-05 12:58:36 -05:00
parent 9daf954bdc
commit b7852d583e
3 changed files with 14 additions and 9 deletions

View file

@ -94,10 +94,10 @@ SEXP_ULIMIT_OBJS = gc-ulimit.o sexp-ulimit.o bignum.o
EVAL_OBJS = opcodes.o vm.o eval.o simplify.o EVAL_OBJS = opcodes.o vm.o eval.o simplify.o
libchibi-sexp$(SO): $(SEXP_OBJS) libchibi-sexp$(SO): $(SEXP_OBJS)
$(CC) $(CLIBFLAGS) -o $@ $^ $(XLDFLAGS) $(CC) $(CLIBFLAGS) $(CLINKFLAGS) -o $@ $^ $(XLDFLAGS)
libchibi-scheme$(SO): $(SEXP_OBJS) $(EVAL_OBJS) libchibi-scheme$(SO): $(SEXP_OBJS) $(EVAL_OBJS)
$(CC) $(CLIBFLAGS) -o $@ $^ $(XLDFLAGS) $(CC) $(CLIBFLAGS) $(CLINKFLAGS) -o $@ $^ $(XLDFLAGS)
chibi-scheme$(EXE): main.o libchibi-scheme$(SO) chibi-scheme$(EXE): main.o libchibi-scheme$(SO)
$(CC) $(XCPPFLAGS) $(XCFLAGS) -o $@ $< -L. -lchibi-scheme $(CC) $(XCPPFLAGS) $(XCFLAGS) -o $@ $< -L. -lchibi-scheme
@ -114,7 +114,7 @@ clibs.c: $(GENSTATIC) chibi-scheme$(EXE)
# A special case, this needs to be linked with the LDFLAGS in case # A special case, this needs to be linked with the LDFLAGS in case
# we're using Boehm. # we're using Boehm.
lib/chibi/ast$(SO): lib/chibi/ast.c $(INCLUDES) lib/chibi/ast$(SO): lib/chibi/ast.c $(INCLUDES)
-$(CC) $(CLIBFLAGS) $(XCPPFLAGS) $(XCFLAGS) -o $@ $< $(GCLDFLAGS) -L. -lchibi-scheme -$(CC) $(CLIBFLAGS) $(CLINKFLAGS) $(XCPPFLAGS) $(XCFLAGS) -o $@ $< $(GCLDFLAGS) -L. -lchibi-scheme
doc/lib/chibi/%.html: lib/chibi/%.sld $(CHIBI_DOC_DEPENDENCIES) doc/lib/chibi/%.html: lib/chibi/%.sld $(CHIBI_DOC_DEPENDENCIES)
$(CHIBI_DOC) --html chibi.$* > $@ $(CHIBI_DOC) --html chibi.$* > $@

View file

@ -50,20 +50,23 @@ LIBDL = -ldl
ifeq ($(PLATFORM),macosx) ifeq ($(PLATFORM),macosx)
SO = .dylib SO = .dylib
EXE = EXE =
CLIBFLAGS = -dynamiclib CLIBFLAGS =
CLINKFLAGS = -dynamiclib
STATICFLAGS = -static-libgcc -DSEXP_USE_DL=0 STATICFLAGS = -static-libgcc -DSEXP_USE_DL=0
else else
ifeq ($(PLATFORM),bsd) ifeq ($(PLATFORM),bsd)
SO = .so SO = .so
EXE = EXE =
CLIBFLAGS = -fPIC -shared CLIBFLAGS = -fPIC
CLINKFLAGS = -shared
LIBDL = LIBDL =
else else
ifeq ($(PLATFORM),mingw) ifeq ($(PLATFORM),mingw)
SO = .dll SO = .dll
EXE = .exe EXE = .exe
CC = gcc CC = gcc
CLIBFLAGS = -shared CLIBFLAGS =
CLINKFLAGS = -shared
CPPFLAGS += -DSEXP_USE_STRING_STREAMS=0 -DBUILDING_DLL CPPFLAGS += -DSEXP_USE_STRING_STREAMS=0 -DBUILDING_DLL
LDFLAGS += -Wl,--out-implib,libchibi-scheme$(SO).a LDFLAGS += -Wl,--out-implib,libchibi-scheme$(SO).a
STATICFLAGS = -DSEXP_USE_DL=0 STATICFLAGS = -DSEXP_USE_DL=0
@ -73,13 +76,15 @@ ifeq ($(PLATFORM),cygwin)
SO = .dll SO = .dll
EXE = .exe EXE = .exe
CC = gcc CC = gcc
CLIBFLAGS = -shared CLIBFLAGS =
CLINKFLAGS = -shared
CPPFLAGS += -DSEXP_USE_STRING_STREAMS=0 CPPFLAGS += -DSEXP_USE_STRING_STREAMS=0
LDFLAGS += -Wl,--out-implib,libchibi-scheme$(SO).a LDFLAGS += -Wl,--out-implib,libchibi-scheme$(SO).a
else else
SO = .so SO = .so
EXE = EXE =
CLIBFLAGS = -fPIC -shared CLIBFLAGS = -fPIC
CLINKFLAGS = -shared
STATICFLAGS = -static -DSEXP_USE_DL=0 STATICFLAGS = -static -DSEXP_USE_DL=0
ifeq ($(PLATFORM),BSD) ifeq ($(PLATFORM),BSD)
LIBDL= LIBDL=

View file

@ -46,7 +46,7 @@ lib/%.c: lib/%.stub $(CHIBI_FFI_DEPENDENCIES)
$(CHIBI_FFI) $< $(CHIBI_FFI) $<
lib/%$(SO): lib/%.c $(INCLUDES) lib/%$(SO): lib/%.c $(INCLUDES)
$(CC) $(CLIBFLAGS) $(XCPPFLAGS) $(XCFLAGS) -o $@ $< -L. $(XLIBS) -lchibi-scheme $(CC) $(CLIBFLAGS) $(CLINKFLAGS) $(XCPPFLAGS) $(XCFLAGS) -o $@ $< -L. $(XLIBS) -lchibi-scheme
doc-libs: $(HTML_LIBS) doc-libs: $(HTML_LIBS)