From df2969c21530e66b61b85a75644ab3aef2ecb7ee Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Thu, 30 Dec 2004 04:58:25 +0000 Subject: build system for OSX updated build system svn path=/trunk/; revision=2436 --- externals/grill/flext/buildsys/mac/make-gcc.inc | 94 +++++++++++++++++-------- 1 file changed, 64 insertions(+), 30 deletions(-) (limited to 'externals/grill/flext/buildsys/mac/make-gcc.inc') diff --git a/externals/grill/flext/buildsys/mac/make-gcc.inc b/externals/grill/flext/buildsys/mac/make-gcc.inc index 39f4849a..a7f6c511 100644 --- a/externals/grill/flext/buildsys/mac/make-gcc.inc +++ b/externals/grill/flext/buildsys/mac/make-gcc.inc @@ -1,6 +1,14 @@ -LDFLAGS += -Wl,-x -framework ApplicationServices -framework vecLib +ifndef FLEXTBUILD +INCPATH += -I$(FLEXTPATH) +LIBPATH += -L$(FLEXTPATH) +LIBS+=$(FLEXTPATH)/$(FLEXTNAME).a +endif + +LDFLAGS += -Wl,-x -framework ApplicationServices -framework vecLib -dynamiclib -dynamic -ifdef DEBUG +############################################## + +ifndef DEBUG CFLAGS += -g -D_DEBUG else CFLAGS += $(OFLAGS) -DNDEBUG @@ -9,60 +17,86 @@ endif ############################################## -INCPATH += -I$(FLEXTPATH) -LIBPATH += -L$(FLEXTPATH) +ifdef FLEXTBUILD +OUTNAME=$(FLEXTNAME) ifdef SHARED -# --- shared --- -DEFS += -DFLEXT_SHARED +EXT=dylib +else +EXT=a +BUILDLIB=1 +endif else -ifdef THREADED -# --- static multi-threaded --- -DEFS += -DFLEXT_THREADS +OUTNAME=$(NAME) +endif -else -# --- static single-threaded --- +############################################## -endif +OBJPATH=$(OUTPATH)/$(OUTSUB) + +ifdef FLEXTBUILD +TARGETPATH=$(OBJPATH) +TARGET=$(TARGETPATH)/$(OUTNAME).$(EXT) +else +TARGETPATH=$(OBJPATH)/$(OUTNAME).$(EXT)/Contents/MacOS +TARGET=$(TARGETPATH)/$(OUTNAME) endif ############################################## -TARGET=$(OUTPATH)/$(NAME).$(EXT) - CSRCS=$(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS))) CPPSRCS=$(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS))) -COBJS=$(patsubst %.c,$(OUTPATH)/%.o,$(filter %.c,$(SRCS))) -CPPOBJS=$(patsubst %.cpp,$(OUTPATH)/%.opp,$(filter %.cpp,$(SRCS))) +COBJS=$(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS))) +CPPOBJS=$(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS))) # default target -all: $(OUTPATH) $(TARGET) +_all_: $(TARGET) $(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS)) touch $@ -$(OUTPATH): - mkdir $(OUTPATH) +$(OBJPATH): + -mkdir -p $@ -$(OUTPATH)/%.opp : $(SRCDIR)/%.cpp +$(TARGETPATH): + -mkdir -p $@ + +$(OBJPATH)/%.opp : $(SRCDIR)/%.cpp $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ -$(OUTPATH)/%.o : $(SRCDIR)/%.c +$(OBJPATH)/%.o : $(SRCDIR)/%.c $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@ -$(TARGET) : $(COBJS) $(CPPOBJS) - $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $^ $(LIBS) +$(TARGET) :: $(OBJPATH) $(TARGETPATH) + +$(TARGET) :: $(COBJS) $(CPPOBJS) +ifdef BUILDLIB + libtool -static -o $@ $(COBJS) $(CPPOBJS) +else +# $(CXX) $(LDFLAGS) $(LIBPATH) -dylib_install_name $(INSTPATH)/$(notdir $@) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) + $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) chmod 755 $@ +endif + +############################################## + +_clean_: + rm $(COBJS) $(CPPOBJS) $(TARGET) + +############################################## $(INSTPATH): - mkdir $(INSTPATH) + -mkdir -p $@ -install:: $(INSTPATH) +$(FLEXTPATH): + -mkdir -p $@ -install:: $(TARGET) - install $^ $(INSTPATH) +_install_:: $(INSTPATH) $(FLEXTPATH) -.PHONY: clean -clean: - $(RM) $(COBJS) $(CPPOBJS) $(TARGET) +_install_:: $(TARGET) +ifdef FLEXTBUILD + cp $(TARGET) $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTPATH) +else + install $(TARGET) $(INSTPATH) +endif -- cgit v1.2.1