Build example user_defined programs
authorKevin M. Rosenberg <kevin@rosenberg.net>
Mon, 12 Feb 2018 06:08:21 +0000 (23:08 -0700)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Mon, 12 Feb 2018 06:08:21 +0000 (23:08 -0700)
Makefile
examples/b2/src/Makefile
examples/b9/src/Makefile
src/snark/Makefile

index cd3e3d3ab48451a3641be8d64d05edb0dc3292b6..6f4b774f22f1e5d4435fe04d57e346b654c8a05e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -15,7 +15,7 @@ LDFLAGS   =
 DIGFILED   = $(PREFIX)/src/DIGFile
 DIGFILESD  = $(PREFIX)/src/DIGFileSnark
 DIGFILERD  = $(PREFIX)/src/DIGRand
-SNARK14D   = $(PREFIX)/src/snark14
+SNARK14D   = $(PREFIX)/src/snark
 
 OBJDIR     = build
 BINDIR     = bin
@@ -73,7 +73,6 @@ $(LDIGFILESD) : $(DIGFILESD)
 $(LDIGFILERD) : $(DIGFILERD)
        $(MAKE) --directory=$<
 
-
 $(LSNARK14) : $(SNARK14D)
        $(MAKE) --directory=$<
 
index f1373e72ca05dafd840e31e5eca2f8c56c4659ca..e5b8dc21d08f2e3b88621859327ed018be8f41d4 100644 (file)
@@ -32,6 +32,7 @@ OBJ = \
        alp1.o \
        art_tset.o
 
+#LIBS= -L$(SNARKLIBDIR) -lsnark14 -lDIGFile -lDIGFileSnark -lDIGRand -lxerces-c -lm
 LIBS= -L$(SNARKLIBDIR) -lsnark14 -lDIGFile -lDIGFileSnark -lDIGRand -lxerces-c -lm
 
 ######################################
index fe8d6b1128202b401c0957785c0c7465f499d882..42b82f966390e67c5a7b89ebbd07461426fd0290 100644 (file)
@@ -33,8 +33,7 @@ INCLUDEDIR = -I/usr/include -I$(XERCESINCLUDE)/.. \
 OBJ = \
        user_fom1.o
 
-LIBS= -L$(SNARKLIBDIR) -L../../../src/snark -lDIGFile -lDIGFileSnark -lDIGRand  -lxerces-c -lm
-#LIBS= -L$(SNARKLIBDIR) -L../../../src/snark -lsnark14 -lDIGFile -lDIGFileSnark -lDIGRand  -lxerces-c -lm
+LIBS= -L$(SNARKLIBDIR) -lsnark14 -lDIGFile -lDIGFileSnark -lDIGRand  -lxerces-c -lm
 
 
 #ifndef CC
index cbe06c6ad84b472eb1d4de1e12e0efbe0f8f2a00..eee44fb0064aede0e81fda48b6b968f786cf27c3 100644 (file)
@@ -9,433 +9,15 @@ LD         = g++
 
 LIBDIR    = $(ROOTDIR)/lib
 
+CFLAGS  = -O4 -fPIC -DLINUX -D_REENTRANT -w -Wunused-parameter
 CXXFLAGS  = -O4 -fPIC -DLINUX -D_REENTRANT -w -Wunused-parameter
 
 LDFLAGS   = 
 
-SRC_CXX    = \
-                alb1.cpp \
-                alb2.cpp \
-                alb3.cpp \
-                alb4.cpp \
-                alb5.cpp \
-                alg.cpp \
-                alp1.cpp \
-                alp2.cpp \
-                alp3.cpp \
-                alp4.cpp \
-                alp5.cpp \
-                anglst.cpp \
-                art_artbck.cpp \
-                art_bkproj.cpp \
-                art_clip.cpp \
-                art.cpp \
-                art_crset.cpp \
-                art_readin.cpp \
-                art_rset.cpp \
-                art_tset.cpp \
-                back.cpp \
-                basis.cpp \
-                BasisFunctionBlob.cpp \
-                BasisFunctionPixel.cpp \
-                bbldlst.cpp \
-                bckprj.cpp \
-                bckray.cpp \
-                bdhk.cpp \
-                bdhk_misl.cpp \
-                bh_correction.cpp \
-                bldlst.cpp \
-                blkdta.cpp \
-                blob2pix.cpp \
-                blob_bpix.cpp \
-                blob.cpp \
-                blob_footp.cpp \
-                blob_functions.cpp \
-                blob_setparam.cpp \
-                blob_table.cpp \
-                bpseudo.cpp \
-                bray.cpp \
-                bsmooth.cpp \
-                bwray.cpp \
-                chtoin.cpp \
-                cin.cpp \
-                congeo.cpp \
-                consts.cpp \
-                contur.cpp \
-                conv.cpp \
-                creacm.cpp \
-                creaer.cpp \
-                creaph.cpp \
-                creapr.cpp \
-                creatr.cpp \
-                dcon.cpp \
-                dcon_dconbl.cpp \
-                dcon_dconft.cpp \
-                disp.cpp \
-                disply.cpp \
-                DistanceMeasure.cpp \
-                DistanceMeasurePixel.cpp \
-                DistanceMeasureWSQD.cpp \
-                dist.cpp \
-                doline.cpp \
-                effpick.cpp \
-                emap_CEvalMAP.cpp \
-                emap_CInitMAP.cpp \
-                emap_CMAP.cpp \
-                emap.cpp \
-                emap_CReadInp.cpp \
-                emap_Cwray.cpp \
-                emap_sscal.cpp \
-                err.cpp \
-                errfac.cpp \
-                errpar.cpp \
-                eval.cpp \
-                exalg.cpp \
-                fft2p.cpp \
-                file11.cpp \
-                foru_bckwrd.cpp \
-                foru.cpp \
-                foru_error.cpp \
-                foru_fft.cpp \
-                foru_forwrd.cpp \
-                foru_frfilt.cpp \
-                foru_frinit.cpp \
-                foru_ftfill.cpp \
-                foru_ftmap.cpp \
-                foru_intrpl.cpp \
-                foru_prjtrn.cpp \
-                foru_store.cpp \
-                foru_uint.cpp \
-                foru_unif.cpp \
-                foru_vc56.cpp \
-                foru_vcase1.cpp \
-                foru_vcase2.cpp \
-                foru_vcase3.cpp \
-                foru_vcase4.cpp \
-                foru_vint14.cpp \
-                fourie.cpp \
-                ftodd.cpp \
-                geom.cpp \
-                GeometricBehaviour.cpp \
-                getang.cpp \
-                getden.cpp \
-                getint.cpp \
-                getnum.cpp \
-                getnxt.cpp \
-                getwrd.cpp \
-                halft.cpp \
-                infile.cpp \
-                inputfile.cpp \
-                int2str.cpp \
-                lines.cpp \
-                lino.cpp \
-                lino_czt.cpp \
-                lino_sumfac.cpp \
-                mart.cpp \
-                mode.cpp \
-                modefl.cpp \
-                nav1.cpp \
-                nav2.cpp \
-                nav3.cpp \
-                nav4.cpp \
-                nav5.cpp \
-                nav.cpp \
-                noise.cpp \
-                objects.cpp \
-                pick.cpp \
-                pix2blob.cpp \
-                pnch.cpp \
-                pnchfile.cpp \
-                point.cpp \
-                posit.cpp \
-                post.cpp \
-                prdta.cpp \
-                primfc.cpp \
-                projfile.cpp \
-                pseudo.cpp \
-                qfilt.cpp \
-                qinit.cpp \
-                qintp.cpp \
-                quad_adsmos.cpp \
-                quad_back.cpp \
-                quad_badsmos.cpp \
-                quad_blurck.cpp \
-                quad_bprpict.cpp \
-                quad_costfn.cpp \
-                quad.cpp \
-                quad_deltac.cpp \
-                quad_deltad.cpp \
-                quad_deset.cpp \
-                quad_dset.cpp \
-                quad_eigval.cpp \
-                quad_matrix.cpp \
-                quad_mtamx.cpp \
-                quad_mtamxp.cpp \
-                quad_nextr.cpp \
-                quad_nxtpct.cpp \
-                quad_prpict.cpp \
-                quad_prsemi.cpp \
-                quad_resedu.cpp \
-                quad_semi.cpp \
-                quad_seset.cpp \
-                quad_sset.cpp \
-                quad_uerror.cpp \
-                ray.cpp \
-                raylen.cpp \
-                raysel.cpp \
-                rdpict.cpp \
-                rdproj.cpp \
-                recfile.cpp \
-                region.cpp \
-                rfl.cpp \
-                rtfort.cpp \
-                SARTConfig.cpp \
-                sart.cpp \
-                sec_cri1.cpp \
-                sec_cri2.cpp \
-                sec_cri3.cpp \
-                sec_cri4.cpp \
-                sec_cri5.cpp \
-                sec_cri.cpp \
-                second.cpp \
-                select.cpp \
-                settra.cpp \
-                sinc.cpp \
-                sirt.cpp \
-                smooth.cpp \
-                snark.cpp \
-                snfft.cpp \
-                spctrm.cpp \
-                stopex.cpp \
-                subreg.cpp \
-                superior.cpp \
-                term.cpp \
-                TerminationCriterion.cpp \
-                termtest.cpp \
-                transm.cpp \
-                trm1.cpp \
-                trm2.cpp \
-                trm3.cpp \
-                trm4.cpp \
-                trm5.cpp \
-                trm6.cpp \
-                trm_weighted_squared_distance.cpp \
-                uiod.cpp \
-                unkps.cpp \
-                wray.cpp \
-                wrdpack.cpp
-
-OBJ_CXX    = \
-                alb1.o \
-                alb2.o \
-                alb3.o \
-                alb4.o \
-                alb5.o \
-                alg.o \
-                alp1.o \
-                alp2.o \
-                alp3.o \
-                alp4.o \
-                alp5.o \
-                anglst.o \
-                art_artbck.o \
-                art_bkproj.o \
-                art_clip.o \
-                art.o \
-                art_crset.o \
-                art_readin.o \
-                art_rset.o \
-                art_tset.o \
-                back.o \
-                basis.o \
-                BasisFunctionBlob.o \
-                BasisFunctionPixel.o \
-                bbldlst.o \
-                bckprj.o \
-                bckray.o \
-                bdhk.o \
-                bdhk_misl.o \
-                bh_correction.o \
-                bldlst.o \
-                blkdta.o \
-                blob2pix.o \
-                blob_bpix.o \
-                blob.o \
-                blob_footp.o \
-                blob_functions.o \
-                blob_setparam.o \
-                blob_table.o \
-                bpseudo.o \
-                bray.o \
-                bsmooth.o \
-                bwray.o \
-                chtoin.o \
-                cin.o \
-                congeo.o \
-                consts.o \
-                contur.o \
-                conv.o \
-                creacm.o \
-                creaer.o \
-                creaph.o \
-                creapr.o \
-                creatr.o \
-                dcon.o \
-                dcon_dconbl.o \
-                dcon_dconft.o \
-                disp.o \
-                disply.o \
-                DistanceMeasure.o \
-                DistanceMeasurePixel.o \
-                DistanceMeasureWSQD.o \
-                dist.o \
-                doline.o \
-                effpick.o \
-                emap_CEvalMAP.o \
-                emap_CInitMAP.o \
-                emap_CMAP.o \
-                emap.o \
-                emap_CReadInp.o \
-                emap_Cwray.o \
-                emap_sscal.o \
-                err.o \
-                errfac.o \
-                errpar.o \
-                eval.o \
-                exalg.o \
-                fft2p.o \
-                file11.o \
-                foru_bckwrd.o \
-                foru.o \
-                foru_error.o \
-                foru_fft.o \
-                foru_forwrd.o \
-                foru_frfilt.o \
-                foru_frinit.o \
-                foru_ftfill.o \
-                foru_ftmap.o \
-                foru_intrpl.o \
-                foru_prjtrn.o \
-                foru_store.o \
-                foru_uint.o \
-                foru_unif.o \
-                foru_vc56.o \
-                foru_vcase1.o \
-                foru_vcase2.o \
-                foru_vcase3.o \
-                foru_vcase4.o \
-                foru_vint14.o \
-                fourie.o \
-                ftodd.o \
-                geom.o \
-                GeometricBehaviour.o \
-                getang.o \
-                getden.o \
-                getint.o \
-                getnum.o \
-                getnxt.o \
-                getwrd.o \
-                halft.o \
-                infile.o \
-                inputfile.o \
-                int2str.o \
-                lines.o \
-                lino.o \
-                lino_czt.o \
-                lino_sumfac.o \
-                mart.o \
-                mode.o \
-                modefl.o \
-                nav1.o \
-                nav2.o \
-                nav3.o \
-                nav4.o \
-                nav5.o \
-                nav.o \
-                noise.o \
-                objects.o \
-                pick.o \
-                pix2blob.o \
-                pnch.o \
-                pnchfile.o \
-                point.o \
-                posit.o \
-                post.o \
-                prdta.o \
-                primfc.o \
-                projfile.o \
-                pseudo.o \
-                qfilt.o \
-                qinit.o \
-                qintp.o \
-                quad_adsmos.o \
-                quad_back.o \
-                quad_badsmos.o \
-                quad_blurck.o \
-                quad_bprpict.o \
-                quad_costfn.o \
-                quad.o \
-                quad_deltac.o \
-                quad_deltad.o \
-                quad_deset.o \
-                quad_dset.o \
-                quad_eigval.o \
-                quad_matrix.o \
-                quad_mtamx.o \
-                quad_mtamxp.o \
-                quad_nextr.o \
-                quad_nxtpct.o \
-                quad_prpict.o \
-                quad_prsemi.o \
-                quad_resedu.o \
-                quad_semi.o \
-                quad_seset.o \
-                quad_sset.o \
-                quad_uerror.o \
-                ray.o \
-                raylen.o \
-                raysel.o \
-                rdpict.o \
-                rdproj.o \
-                recfile.o \
-                region.o \
-                rfl.o \
-                rtfort.o \
-                SARTConfig.o \
-                sart.o \
-                sec_cri1.o \
-                sec_cri2.o \
-                sec_cri3.o \
-                sec_cri4.o \
-                sec_cri5.o \
-                sec_cri.o \
-                second.o \
-                select.o \
-                settra.o \
-                sinc.o \
-                sirt.o \
-                smooth.o \
-                snark.o \
-                snfft.o \
-                spctrm.o \
-                stopex.o \
-                subreg.o \
-                superior.o \
-                term.o \
-                TerminationCriterion.o \
-                termtest.o \
-                transm.o \
-                trm1.o \
-                trm2.o \
-                trm3.o \
-                trm4.o \
-                trm5.o \
-                trm6.o \
-                trm_weighted_squared_distance.o \
-                uiod.o \
-                unkps.o \
-                wray.o \
-                wrdpack.o
+SRC_CXX    = $(foreach dir,.,$(wildcard ./*.cpp))
+SRC_CC     = $(foreach dir,.,$(wildcard ./*.c))
+OBJ_CXX    = $(patsubst ./%.cpp,../../build/%.o,$(SRC_CXX))
+OBJ_CC     = $(patsubst ./%.c,../../build/%.o,$(SRC_CC))
 
 INCLUDES   = -I/usr/include -I./include -I$(XERCES) -I$(XERCES)/include \
              -I$(ROOTDIR)/include/DIGFile -I$(ROOTDIR)/include/DIGFileSnark \
@@ -450,11 +32,14 @@ TARGET    = $(LIBDIR)/libsnark14.so
 
 all: $(LIBDIR) $(TARGET)
 
-$(TARGET): $(OBJ_CXX)
-       $(LD) --shared $(LIBS) $(LDFLAGS) -o $(TARGET) $(OBJ_CXX)
+$(TARGET): $(OBJ_CXX) $(OBJ_CC)
+       $(LD) --shared $(LIBS) $(LDFLAGS) -o $(TARGET) $(OBJ_CXX) $(OBJ_CC)
+
+/%.o : ./%.c .deps/%.Po
+       $(CC) -c $(CFLAGS) $(INCLUDES) -MT $@ -MD -MP -MF $(word 2,$^) -o $@ $<
 
-*.o : *.cpp
-       $(CXX) -c $(CXXFLAGS) $(INCLUDES) -o $@ $<
+%.o : ./%.cpp .deps/%.Po
+       $(CXX) -c $(CXXFLAGS) $(INCLUDES) -MT $@ -MD -MP -MF $(word 2,$^) -o $@ $<
 
 $(LIBDIR) :
        @mkdir -p $(LIBDIR)