diff options
Diffstat (limited to 'externals/grill/flext/buildsys')
15 files changed, 89 insertions, 47 deletions
diff --git a/externals/grill/flext/buildsys/bmake-sub.mak b/externals/grill/flext/buildsys/bmake-sub.mak index 5baa4be9..29028377 100644 --- a/externals/grill/flext/buildsys/bmake-sub.mak +++ b/externals/grill/flext/buildsys/bmake-sub.mak @@ -5,7 +5,7 @@ # project-specific definitions # package info -!include $(USRINFO) +!include $(PKGINFO) # special package settings !ifdef USRCONFIG diff --git a/externals/grill/flext/buildsys/bmake.mak b/externals/grill/flext/buildsys/bmake.mak index ef061486..1fb937ce 100644 --- a/externals/grill/flext/buildsys/bmake.mak +++ b/externals/grill/flext/buildsys/bmake.mak @@ -8,23 +8,25 @@ ############################################### # package info -USRINFO=package.txt +!ifndef PKGINFO +PKGINFO=package.txt +!endif -!include $(USRINFO) +!include $(PKGINFO) ############################################### # check variables !ifndef BUILDCLASS -!error BUILDCLASS must be specified in $(USRINFO) +BUILDCLASS=ext !endif !ifndef BUILDMODE -!error BUILDMODE must be specified in $(USRINFO) +BUILDMODE=release !endif !ifndef BUILDTYPE -!error BUILDTYPE must be specified in $(USRINFO) +BUILDTYPE=single !endif ############################## @@ -44,7 +46,7 @@ SYSDEFAULT=$(BUILDPATH)$(PLATFORM)\$(RTSYS)\config-$(COMPILER).def OPTIONS=-f $(BUILDPATH)bmake-sub.mak -N \ PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \ - BUILDPATH=$(BUILDPATH) USRINFO=$(USRINFO) + BUILDPATH=$(BUILDPATH) PKGINFO=$(PKGINFO) BUILDCLASS=$(BUILDCLASS) ############################################### @@ -52,7 +54,7 @@ OPTIONS=-f $(BUILDPATH)bmake-sub.mak -N \ USRCONFIG=config.txt USRDEFAULT=$(BUILDDIR)\config-$(PLATFORM).def -USRMAKE=$(BUILDDIR)\makefile-$(PLATFORM)-$(COMPILER).inc +USRMAKE=$(BUILDDIR)\bmake-$(PLATFORM)-$(COMPILER).inc OPTIONS=$(OPTIONS) USRCONFIG=$(USRCONFIG) USRMAKE=$(USRMAKE) !endif diff --git a/externals/grill/flext/buildsys/gnumake-sub.mak b/externals/grill/flext/buildsys/gnumake-sub.mak index 46a40de6..5e1dfc73 100644 --- a/externals/grill/flext/buildsys/gnumake-sub.mak +++ b/externals/grill/flext/buildsys/gnumake-sub.mak @@ -5,7 +5,7 @@ include $(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt # project specific definitions # package info -include $(USRINFO) +include $(PKGINFO) # special settings ifdef USRCONFIG diff --git a/externals/grill/flext/buildsys/gnumake.mak b/externals/grill/flext/buildsys/gnumake.mak index af83c019..4d201957 100644 --- a/externals/grill/flext/buildsys/gnumake.mak +++ b/externals/grill/flext/buildsys/gnumake.mak @@ -8,23 +8,25 @@ ############################################### # package info -USRINFO=package.txt +ifndef PKGINFO +PKGINFO=package.txt +endif -include $(USRINFO) +include $(PKGINFO) ############################################### # check variables ifndef BUILDCLASS - error BUILDCLASS must be specified in $(USRINFO) +BUILDCLASS=ext endif ifndef BUILDMODE - error BUILDMODE must be specified in $(USRINFO) +BUILDMODE=release endif ifndef BUILDTYPE - error BUILDTYPE must be specified in $(USRINFO) +BUILDTYPE=single endif ############################## @@ -53,7 +55,7 @@ SYSDEFAULT=$(UBUILDPATH)$(PLATFORM)/$(RTSYS)/config-$(COMPILER).def OPTIONS=-f $(UBUILDPATH)gnumake-sub.mak \ PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \ - BUILDPATH=$(UBUILDPATH) USRINFO=$(USRINFO) + BUILDPATH=$(UBUILDPATH) PKGINFO=$(PKGINFO) BUILDCLASS=$(BUILDCLASS) ############################################### @@ -61,7 +63,7 @@ ifdef BUILDDIR USRCONFIG=config.txt USRDEFAULT=$(BUILDDIR)/config-$(PLATFORM).def -USRMAKE=$(BUILDDIR)/makefile-$(PLATFORM)-$(COMPILER).inc +USRMAKE=$(BUILDDIR)/gnumake-$(PLATFORM)-$(COMPILER).inc OPTIONS+=USRCONFIG=$(USRCONFIG) USRMAKE=$(USRMAKE) endif diff --git a/externals/grill/flext/buildsys/mac/gnumake-gcc-ext.inc b/externals/grill/flext/buildsys/mac/gnumake-gcc-ext.inc index ad4e2856..66a86234 100644 --- a/externals/grill/flext/buildsys/mac/gnumake-gcc-ext.inc +++ b/externals/grill/flext/buildsys/mac/gnumake-gcc-ext.inc @@ -4,6 +4,18 @@ INCPATH += -I$(FLEXTINC) LIBPATH += -L$(FLEXTLIB) -L$(FLEXTSHLIB)
LIBS += -l$(FLEXTNAME)
+# obviously header precompilation os still buggy with gcc 3.3
+
+ifdef PRECOMPILE
+#PRECOMSRC=$(SRCDIR)/$(PRECOMPILE)
+else
+#PRECOMSRC=$(FLEXTINC)/flext.h
+endif
+ifdef PRECOMSRC
+PRECOMDST=$(OBJPATH)/$(notdir $(PRECOMSRC)).gch
+PRECOMINC = -include $(OBJPATH)/$(notdir $(PRECOMSRC))
+endif
+
##############################################
CSRCS=$(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS)))
@@ -19,33 +31,40 @@ _build_: $(TARGET) $(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
touch $@
+# Attention: $@ doesn't work for paths with spaces....
$(OBJPATH):
- -mkdir -p $@
+ -mkdir -p $(OBJPATH)
+# Attention: $@ doesn't work for paths with spaces....
$(TARGETPATH):
- -mkdir -p $@
+ -mkdir -p $(TARGETPATH)
+
+$(PRECOMDST) : $(PRECOMSRC) $(patsubst %,$(SRCDIR)/%,$(HDRS))
+ $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $(PRECOMSRC) -o $@
$(OBJPATH)/%.opp : $(SRCDIR)/%.cpp
- $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
+ $(CXX) -c $(CFLAGS) $(DEFS) $(PRECOMINC) $(INCPATH) $< -o $@
$(OBJPATH)/%.o : $(SRCDIR)/%.c
$(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
$(TARGET) :: $(OBJPATH) $(TARGETPATH)
-$(TARGET) :: $(COBJS) $(CPPOBJS)
+$(TARGET) :: $(PRECOMDST) $(COBJS) $(CPPOBJS)
$(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS)
chmod 755 $@
##############################################
_clean_:
- rm $(COBJS) $(CPPOBJS) $(TARGET)
+ -rm -r $(TARGETPATH)
+ -rm -r $(OBJPATH)
##############################################
+# Attention: $@ doesn't work for paths with spaces....
$(INSTPATH):
- -mkdir -p $@
+ -mkdir -p $(INSTPATH)
_install_:: $(INSTPATH)
- install $(TARGET) $(INSTPATH)
+ cp -R $(INSTTARGET) $(INSTPATH)
diff --git a/externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc b/externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc index 1baafe86..b7c0ef8e 100644 --- a/externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc +++ b/externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc @@ -1,6 +1,8 @@ # build class specific settings
- -#LDFLAGS += -dylib_install_name $(FLEXTSHLIB) +
+ifdef SHARED
+#LDFLAGS += -dylib_install_name $(FLEXTSHLIB)/$(OUTNAME).$(EXT)
+endif
##############################################
@@ -21,26 +23,36 @@ $(OBJPATH): $(TARGETPATH):
-mkdir -p $@
+ifdef PRECOMPILE
+PRECOMSRC=$(SRCDIR)/$(PRECOMPILE)
+PRECOMDST=$(OBJPATH)/$(notdir $(PRECOMSRC)).gch
+PRECOMINC = -include $(OBJPATH)/$(notdir $(PRECOMSRC))
+endif
+
+$(PRECOMDST): $(PRECOMSRC) $(patsubst %,$(SRCDIR)/%,$(HDRS))
+ $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $(PRECOMSRC) -o $@
+
$(OBJPATH)/%.opp : $(SRCDIR)/%.cpp
- $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
+ $(CXX) -c $(CFLAGS) $(DEFS) $(PRECOMINC) $(INCPATH) $< -o $@
$(OBJPATH)/%.o : $(SRCDIR)/%.c
$(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
$(TARGET) :: $(OBJPATH) $(TARGETPATH)
-$(TARGET) :: $(COBJS) $(CPPOBJS)
+$(TARGET) :: $(PRECOMDST) $(COBJS) $(CPPOBJS)
ifdef SHARED
$(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS)
chmod 755 $@
-else +else
libtool -static -o $@ $(COBJS) $(CPPOBJS)
endif
- +
##############################################
_clean_:
- rm $(COBJS) $(CPPOBJS) $(TARGET)
+ -rm -r $(TARGETPATH)
+ -rm -r $(OBJPATH)
##############################################
@@ -57,8 +69,9 @@ $(FLEXTLIBINST): -mkdir -p $@
_install_: $(FLEXTINC) $(FLEXTLIBINST)
- install $(TARGET) $(FLEXTLIBINST) -ifndef SHARED - ranlib $(FLEXTLIBINST)/$(OUTNAME).$(EXT) # have to rerun ranlib at install dir ?! + install $(TARGET) $(FLEXTLIBINST)
+ifndef SHARED
+# have to rerun ranlib at install dir ?!
+ ranlib $(FLEXTLIBINST)/$(notdir $(TARGET))
endif
install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTINC)
diff --git a/externals/grill/flext/buildsys/mac/gnumake-gcc.inc b/externals/grill/flext/buildsys/mac/gnumake-gcc.inc index 4567ec41..661c422d 100644 --- a/externals/grill/flext/buildsys/mac/gnumake-gcc.inc +++ b/externals/grill/flext/buildsys/mac/gnumake-gcc.inc @@ -4,7 +4,7 @@ LDFLAGS += -dynamic -Wl,-x -framework ApplicationServices -framework vecLib ############################################## -ifndef DEBUG +ifdef DEBUG CFLAGS += -g -D_DEBUG else CFLAGS += $(OFLAGS) -DNDEBUG diff --git a/externals/grill/flext/buildsys/mac/max/config-gcc.def b/externals/grill/flext/buildsys/mac/max/config-gcc.def index 41c0b490..de6c6632 100644 --- a/externals/grill/flext/buildsys/mac/max/config-gcc.def +++ b/externals/grill/flext/buildsys/mac/max/config-gcc.def @@ -19,7 +19,7 @@ FLEXTSHLIB=$(FLEXTLIB) OUTPATH=max-darwin # where should the external be installed? -INSTPATH=/Library/Application\ Support/Cycling\ \'74/externals +INSTPATH=/Library/Application\ Support/Cycling\ \'74/externals/flext ############################################################### diff --git a/externals/grill/flext/buildsys/mac/max/gnumake-gcc-ext.inc b/externals/grill/flext/buildsys/mac/max/gnumake-gcc-ext.inc index 24d90d60..85e01a75 100644 --- a/externals/grill/flext/buildsys/mac/max/gnumake-gcc-ext.inc +++ b/externals/grill/flext/buildsys/mac/max/gnumake-gcc-ext.inc @@ -4,5 +4,6 @@ EXT=mxo OBJPATH=$(OUTPATH)/$(OUTSUB) -TARGETPATH=$(OBJPATH)/$(OUTNAME).$(EXT)/Contents/MacOS +INSTTARGET=$(OBJPATH)/$(OUTNAME).$(EXT) +TARGETPATH=$(INSTTARGET)/Contents/MacOS TARGET=$(TARGETPATH)/$(OUTNAME) diff --git a/externals/grill/flext/buildsys/mac/max/gnumake-gcc-flext.inc b/externals/grill/flext/buildsys/mac/max/gnumake-gcc-flext.inc index 4cb53259..b99cfec7 100644 --- a/externals/grill/flext/buildsys/mac/max/gnumake-gcc-flext.inc +++ b/externals/grill/flext/buildsys/mac/max/gnumake-gcc-flext.inc @@ -7,6 +7,8 @@ endif ############################################## OBJPATH=$(OUTPATH)/$(OUTSUB) + TARGETPATH=$(OBJPATH) TARGET=$(TARGETPATH)/$(OUTNAME).$(EXT) +INSTTARGET=$(TARGET) diff --git a/externals/grill/flext/buildsys/mac/pd/gnumake-gcc-ext.inc b/externals/grill/flext/buildsys/mac/pd/gnumake-gcc-ext.inc index f52bc6db..90b71f03 100644 --- a/externals/grill/flext/buildsys/mac/pd/gnumake-gcc-ext.inc +++ b/externals/grill/flext/buildsys/mac/pd/gnumake-gcc-ext.inc @@ -1 +1,3 @@ EXT=pd_darwin
+ +LDFLAGS += -bundle -bundle_loader $(PDBIN) diff --git a/externals/grill/flext/buildsys/mac/pd/gnumake-gcc-flext.inc b/externals/grill/flext/buildsys/mac/pd/gnumake-gcc-flext.inc index 2ebf308d..7aa9b3b5 100644 --- a/externals/grill/flext/buildsys/mac/pd/gnumake-gcc-flext.inc +++ b/externals/grill/flext/buildsys/mac/pd/gnumake-gcc-flext.inc @@ -3,3 +3,5 @@ EXT=dylib else
EXT=a
endif
+ +LDFLAGS += -dynamiclib -flat_namespace -undefined suppress diff --git a/externals/grill/flext/buildsys/mac/pd/gnumake-gcc.inc b/externals/grill/flext/buildsys/mac/pd/gnumake-gcc.inc index ac805f09..f00d0569 100644 --- a/externals/grill/flext/buildsys/mac/pd/gnumake-gcc.inc +++ b/externals/grill/flext/buildsys/mac/pd/gnumake-gcc.inc @@ -3,11 +3,8 @@ DEFS += -DFLEXT_SYS=2 INCPATH += -I$(PDPATH)/src LIBPATH += -L$(PDPATH)/bin -LDFLAGS += -bundle -bundle_loader $(PDBIN) - ############################################## OBJPATH=$(OUTPATH)/$(OUTSUB) TARGETPATH=$(OBJPATH) TARGET=$(TARGETPATH)/$(OUTNAME).$(EXT) - diff --git a/externals/grill/flext/buildsys/nmake-sub.mak b/externals/grill/flext/buildsys/nmake-sub.mak index 81ba3983..1a69cbab 100644 --- a/externals/grill/flext/buildsys/nmake-sub.mak +++ b/externals/grill/flext/buildsys/nmake-sub.mak @@ -5,7 +5,7 @@ # project-specific definitions # package info -!include $(USRINFO) +!include $(PKGINFO) # special package settings !ifdef USRCONFIG diff --git a/externals/grill/flext/buildsys/nmake.mak b/externals/grill/flext/buildsys/nmake.mak index 5fe434b4..78bd0ec0 100644 --- a/externals/grill/flext/buildsys/nmake.mak +++ b/externals/grill/flext/buildsys/nmake.mak @@ -8,23 +8,25 @@ ############################################### # package info -USRINFO=package.txt +!ifndef PKGINFO +PKGINFO=package.txt +!endif -!include $(USRINFO) +!include $(PKGINFO) ############################################### # check variables !ifndef BUILDCLASS -!error BUILDCLASS must be specified in $(USRINFO) +BUILDCLASS=ext !endif !ifndef BUILDMODE -!error BUILDMODE must be specified in $(USRINFO) +BUILDMODE=release !endif !ifndef BUILDTYPE -!error BUILDTYPE must be specified in $(USRINFO) +BUILDTYPE=single !endif ############################## @@ -44,7 +46,7 @@ SYSDEFAULT=$(BUILDPATH)$(PLATFORM)\$(RTSYS)\config-$(COMPILER).def OPTIONS=-f $(BUILDPATH)nmake-sub.mak \ PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \ - BUILDPATH=$(BUILDPATH) USRINFO=$(USRINFO) + BUILDPATH=$(BUILDPATH) PKGINFO=$(PKGINFO) BUILDCLASS=$(BUILDCLASS) ############################################### @@ -52,7 +54,7 @@ OPTIONS=-f $(BUILDPATH)nmake-sub.mak \ USRCONFIG=config.txt USRDEFAULT=$(BUILDDIR)\config-$(PLATFORM).def -USRMAKE=$(BUILDDIR)\makefile-$(PLATFORM)-$(COMPILER).inc +USRMAKE=$(BUILDDIR)\nmake-$(PLATFORM)-$(COMPILER).inc OPTIONS=$(OPTIONS) USRCONFIG=$(USRCONFIG) USRMAKE=$(USRMAKE) !endif |