0

I have the following makefile:

############################################################################################################################################
######################################################### Makefile fot HypeRvieW ###########################################################
############################################################################################################################################


###################################################################################
#################################### Variables ####################################

CC=gcc
CPLUS=g++
DIR=HypeRvieW
GTK_LIB=`pkg-config --libs gtk+-3.0` -DGL_GLEXT_PROTOTYPES -lGL -lfreetype
GTK_CFLAGS=`pkg-config --cflags gtk+-3.0`
GLIB_LIB=`pkg-config --libs glib-2.0`
GLIB_CFLAGS=`pkg-config --cflags glib-2.0`
MODULE_EXPORT_LIB=`pkg-config --libs gmodule-export-2.0`
MODULE_EXPORT_CFLAGS=`pkg-config --cflags gmodule-export-2.0`
LIBGLADE_LIB=`pkg-config --libs libglade-2.0`
LIBGLADE_CFLAGS=`pkg-config --cflags libglade-2.0`
LIBMATIO_LIB=`pkg-config --libs matio`
LIBMATIO_CFLAGS=`pkg-config --cflags matio`
FFTW3_CFLAGS=-lfftw3




###################################################################################
#################################### Principal ####################################

$(DIR)/HypeRvieW:  start $(DIR)/dlib/libglobal_data.so $(DIR)/dlib/libmatlab.so $(DIR)/dlib/libhrw.so $(DIR)/dlib/libimg_format.so $(DIR)/dlib/librawm.so tiff/tiff.o $(DIR)/plugins/compilados/librexistrado $(DIR)/plugins/compilados/libelm $(DIR)/plugins/compilados/libpca_emp $(DIR)/plugins/compilados/libpca $(DIR)/plugins/compilados/librqs $(DIR)/plugins/compilados/libsvmPredict $(DIR)/plugins/compilados/libwatershed $(DIR)/plugins/compilados/libmajorityv_watershed $(DIR)/plugins/compilados/libmajorityv_rqs $(DIR)/plugins/compilados/libsmoothing $(DIR)/plugins/compilados/libdenoising mainCopy main/ayuda.o main/classification/classification.o main/classification/gtk-diagram.o main/classification/gtk-plugin.o main/classification/gtk-pin.o main/classification/gtk-connection.o main/classification/gtk-context-menu.o main/classification/gtk-notification.o main/classification/utils/colors.o main/classification/utils/dialogUtils.o main/classification/utils/progressbar.o main/classification/utils/utilFunctions.o main/classification/helpers/eventHelper.o main/classification/helpers/renderHelper.o main/classification/fileSystem/fileSystem.o main/classification/fileSystem/openHelper.o main/classification/fileSystem/saveHelper.o main/classification/execution/execute.o main/classification/execution/executeHelper.o  main/common_functions.o main/ground_truth.o main/histogram.o main/image.o main/interface_plugins.o main/main.o main/md5.o main/manage_files.o main/manage_plugin.o main/color.o main/editor_ground_truth.o main/editor_segmented_image.o main/menu.o main/signals.o main/window.o main/biophysical.o segalgths/FH.o segalgths/ETPS.o end
    $(CPLUS) -Wl,-rpath=dlib -o $(DIR)/HypeRvieW main/ayuda.o main/classification/classification.o main/classification/gtk-diagram.o main/classification/gtk-plugin.o main/classification/gtk-pin.o main/classification/gtk-connection.o main/classification/gtk-context-menu.o main/classification/gtk-notification.o main/classification/utils/colors.o main/classification/utils/dialogUtils.o main/classification/utils/progressbar.o main/classification/utils/utilFunctions.o main/classification/helpers/eventHelper.o main/classification/helpers/renderHelper.o main/classification/fileSystem/fileSystem.o main/classification/fileSystem/openHelper.o main/classification/fileSystem/saveHelper.o main/classification/execution/execute.o main/classification/execution/executeHelper.o main/common_functions.o main/ground_truth.o main/histogram.o main/image.o main/interface_plugins.o main/main.o main/md5.o tiff/tiff.o main/manage_files.o main/manage_plugin.o main/color.o main/editor_ground_truth.o segalgths/FH.o segalgths/ETPS.o main/editor_segmented_image.o main/menu.o main/signals.o main/window.o main/biophysical.o -Lmain/dlib $(GTK_LIB) $(MODULE_EXPORT_LIB) $(LIBGLADE_LIB)  $(GLIB_LIB) $(LIBMATIO_LIB) $(FFTW3_CFLAGS) -lm -lz -ldl -lglobal_data -lrawm -lmatlab -lhrw -limg_format -lglib-2.0 -lcrypto -ltiff -g




#############################################################################################
#################################### Acciones especiales ####################################

.PHONY: clean

clean:
    ################### clean ###################
    rm -rf HypeRvieW
    rm main/headers/tipo_datos.h
    find -name "*.o" -exec rm {} \;
    find -name "*.d" -exec rm {} \;
    find -name "*.so" -exec rm {} \;
    find -name "*.so.*" -exec rm {} \;


mainCopy:
    ################### mainCopy ###################
    cp hrw/hrw.h main/include
    cp matlab/matlab.h main/include
    cp rawm/rawm.h main/include
    cp tiff/tiff.h main/include
    cp img_format/img_format.h main/include
    cp global_data/global_data.h main/include
    mkdir -p main/dlib
    cp $(DIR)/dlib/*.* main/dlib
    cp database.json $(DIR)


start:
    ################### Start ###################
    if [ ! -d "./$(DIR)" ]; then mkdir -p $(DIR);   fi

    mkdir -p $(DIR)/dlib
    mkdir -p $(DIR)/image
    cp main/image/*.* $(DIR)/image
    mkdir -p $(DIR)/image/manual
    cp main/image/manual/*.* $(DIR)/image/manual
    mkdir -p $(DIR)/image/icons
    cp main/image/icons/*.* $(DIR)/image/icons
    mkdir -p $(DIR)/plugins/
    mkdir -p $(DIR)/plugins/compilados
    cp -a glade/. $(DIR)/plugins
    mkdir -p $(DIR)/plugins/input
    mkdir -p $(DIR)/plugins/output
    printf '# Ignore everything in this directory\n*\n# Except this file\n!.gitignore\n' > $(DIR)/plugins/output/.gitignore


end:
    ################### End ###################
    cp -a $(DIR)/plugins/compilados/. $(DIR)/plugins/es
    cp -a $(DIR)/plugins/compilados/. $(DIR)/plugins/en
  #rm -rf $(DIR)/plugins/compilados/




#########################################################################################################
#################################### Ficheros de main/classification ####################################

#principal
main/classification/classification.o: main/classification/classification.c
    cp global_data/global_data.h main/include
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/classification/classification.o.d -o main/classification/classification.o main/classification/classification.c

#gtk
main/classification/gtk-diagram.o: main/classification/gtk-diagram.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/classification/gtk-diagram.o.d -o main/classification/gtk-diagram.o main/classification/gtk-diagram.c

main/classification/gtk-plugin.o: main/classification/gtk-plugin.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/classification/gtk-plugin.o.d -o main/classification/gtk-plugin.o main/classification/gtk-plugin.c

main/classification/gtk-pin.o: main/classification/gtk-pin.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/classification/gtk-pin.o.d -o main/classification/gtk-pin.o main/classification/gtk-pin.c

main/classification/gtk-connection.o: main/classification/gtk-connection.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/classification/gtk-connection.o.d -o main/classification/gtk-connection.o main/classification/gtk-connection.c

main/classification/gtk-context-menu.o: main/classification/gtk-context-menu.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/classification/gtk-context-menu.o.d -o main/classification/gtk-context-menu.o main/classification/gtk-context-menu.c

main/classification/gtk-notification.o: main/classification/gtk-notification.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/classification/gtk-notification.o.d -o main/classification/gtk-notification.o main/classification/gtk-notification.c


#utils
main/classification/utils/colors.o:
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/classification/utils/colors.o.d -o main/classification/utils/colors.o main/classification/utils/colors.c

main/classification/utils/dialogUtils.o: main/classification/utils/dialogUtils.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/classification/utils/dialogUtils.o.d -o main/classification/utils/dialogUtils.o main/classification/utils/dialogUtils.c

main/classification/utils/progressbar.o: main/classification/utils/progressbar.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/classification/utils/progressbar.o.d -o main/classification/utils/progressbar.o main/classification/utils/progressbar.c

main/classification/utils/utilFunctions.o: main/classification/utils/utilFunctions.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/classification/utils/utilFunctions.o.d -o main/classification/utils/utilFunctions.o main/classification/utils/utilFunctions.c


#helpers
main/classification/helpers/eventHelper.o: main/classification/helpers/eventHelper.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/classification/helpers/eventHelper.o.d -o main/classification/helpers/eventHelper.o main/classification/helpers/eventHelper.c

main/classification/fileSystem/openHelper.o: main/classification/fileSystem/openHelper.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/classification/fileSystem/openHelper.o.d -o main/classification/fileSystem/openHelper.o main/classification/fileSystem/openHelper.c

main/classification/fileSystem/saveHelper.o: main/classification/fileSystem/saveHelper.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/classification/fileSystem/saveHelper.o.d -o main/classification/fileSystem/saveHelper.o main/classification/fileSystem/saveHelper.c


#execution
main/classification/execution/execute.o: main/classification/execution/execute.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/classification/execution/execute.o.d -o main/classification/execution/execute.o main/classification/execution/execute.c

main/classification/execution/executeHelper.o: main/classification/execution/executeHelper.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/classification/execution/executeHelper.o.d -o main/classification/execution/executeHelper.o main/classification/execution/executeHelper.c




##########################################################################################
#################################### Ficheros de main ####################################

main/common_functions.o: main/common_functions.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/common_functions.o.d -o main/common_functions.o main/common_functions.c

main/ground_truth.o: main/ground_truth.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/ground_truth.o.d -o main/ground_truth.o main/ground_truth.c

main/histogram.o: main/histogram.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/histogram.o.d -o main/histogram.o main/histogram.c

main/image.o: main/image.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/image.o.d -o main/image.o main/image.c

main/interface_plugins.o: main/interface_plugins.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/interface_plugins.o.d -o main/interface_plugins.o main/interface_plugins.c

main/main.o: main/main.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/main.o.d -o main/main.o main/main.c

main/manage_files.o: main/manage_files.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/manage_files.o.d -o main/manage_files.o main/manage_files.c

main/md5.o: main/md5.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/md5.o.d -o main/md5.o main/md5.c

main/manage_plugin.o: main/manage_plugin.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/manage_plugin.o.d -o main/manage_plugin.o main/manage_plugin.c

main/color.o: main/color.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/color.o.d -o main/color.o main/color.c

main/editor_ground_truth.o: main/editor_ground_truth.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/editor_ground_truth.o.d -o main/editor_ground_truth.o main/editor_ground_truth.c

main/editor_segmented_image.o: main/editor_segmented_image.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/editor_segmented_image.o.d -o main/editor_segmented_image.o main/editor_segmented_image.c

main/menu.o: main/menu.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/menu.o.d -o main/menu.o main/menu.c

main/signals.o: main/signals.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/signals.o.d -o main/signals.o main/signals.c

main/window.o: main/window.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/window.o.d -o main/window.o main/window.c

main/biophysical.o: main/biophysical_indexes.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/biophysical.o.d -o main/biophysical.o main/biophysical_indexes.c

main/ayuda.o: main/ayuda.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF main/ayuda.o.d -o main/ayuda.o main/ayuda.c




##########################################################################################
#################################### Ficheros de segalgths ###############################

segalgths/FH.o: segalgths/FH.cpp
    $(CPLUS) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF segalgths/FH.o.d -o segalgths/FH.o segalgths/FH.cpp

segalgths/ETPS.o: segalgths/ETPS.cpp
    $(CPLUS) -Wl,-rpath=dlib -c -g -I./main/include $(GTK_CFLAGS) $(MODULE_EXPORT_CFLAGS) $(LIBGLADE_CFLAGS) $(GLIB_CFLAGS) -MMD -MP -MF segalgths/ETPS.o.d -o segalgths/ETPS.o segalgths/ETPS.cpp



###################################################################################
#################################### Librerias ####################################

#################################### Compilamos la librería global_data ####################################
$(DIR)/dlib/libglobal_data.so: global_data/global_data.o rexistrado/imaxes.o rexistrado/algoritmo.o
    $(CC) -o $(DIR)/dlib/libglobal_data.so global_data/global_data.o rexistrado/imaxes.o rexistrado/algoritmo.o $(GTK_LIB) -shared -fPIC -lfftw3

global_data/global_data.o: global_data/global_data.c
    $(CC) -c -g $(GTK_CFLAGS) -fPIC  -MMD -MP -MF global_data/global_data.o.d -o global_data/global_data.o global_data/global_data.c -lfftw3


#################################### Compiles TIFF library ####################################
tiff/tiff.o: tiff/tiff.c
    $(CC) -Wl,-rpath=dlib -c -g -I./main/include $(GLIB_CFLAGS) -ltiff -o tiff/tiff.o tiff/tiff.c

## ERROR #################################### Compilamos librería segalgths ####################################
#$(DIR)/dlib/libsegalgths.so: segalgths/FH.o segalgths/ETPS.o
#   mkdir -p segalgths/dlib
#   $(CPLUS) -o $(DIR)/dlib/libsegalgths.so segalgths/FH.o segalgths/ETPS.o -Wall -fno-strict-aliasing -DUNIX -I. -L./segalgths/dlib/ -shared -fPIC

#segalgths/FH.o: segalgths/FH.cpp
#   $(CPLUS) -c -fPIC  -MMD -MP -MF segalgths/FH.o.d -o segalgths/FH.o segalgths/FH.cpp

#segalgths/ETPS.o: segalgths/ETPS.cpp
#   $(CPLUS) -c -fPIC  -MMD -MP -MF segalgths/ETPS.o.d -o segalgths/ETPS.o segalgths/ETPS.cpp


#################################################################################
#################################### Plugins ####################################

#################################### Compilamos plugin ELM ####################################
$(DIR)/plugins/compilados/libelm: elm/elm_d.o elm/libreriaFunciones.o
    $(CC) -o $(DIR)/plugins/compilados/libelm elm/elm_d.o elm/libreriaFunciones.o -Ldlib $(GTK_LIB) -L./elm/dlib/ -lglobal_data -fopenmp -L./elm/dlib/ -llapacke -llapack -lblas -lm -lgfortran -shared -fPIC

elm/elm_d.o: elm/elm_d.c
    mkdir -p elm/dlib; cp $(DIR)/dlib/libglobal_data.so elm/dlib
    $(CC) -c -g -I. -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/4.4/include -I/usr/lib/gcc/x86_64-linux-gnu/4.4/include-fixed -I/usr/include $(GTK_CFLAGS) -fPIC  -MMD -MP -MF elm/elm_d.o.d -o elm/elm_d.o elm/elm_d.c

elm/libreriaFunciones.o: elm/libreriaFunciones.c
    $(CC) -c -g -I. -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/4.4/include -I/usr/lib/gcc/x86_64-linux-gnu/4.4/include-fixed -I/usr/include $(GTK_CFLAGS) -fPIC  -MMD -MP -MF elm/libreriaFunciones.o.d -o elm/libreriaFunciones.o elm/libreriaFunciones.c


#################################### compilamos plugin PCA-EMP ####################################
$(DIR)/plugins/compilados/libpca_emp: pca_emp/pca_emp.o
    $(CC) -o $(DIR)/plugins/compilados/libpca_emp pca_emp/pca_emp.o -Ldlib $(GTK_LIB) -L./pca_emp/dlib/ -lglobal_data -fopenmp -L./pca_emp/dlib/ -llapacke -llapack -lblas -lm -lgfortran -shared -fPIC

pca_emp/pca_emp.o: pca_emp/pca_emp.c
    mkdir -p pca_emp/dlib; cp $(DIR)/dlib/libglobal_data.so pca_emp/dlib
    $(CC) -c -g -I. -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/4.4/include -I/usr/lib/gcc/x86_64-linux-gnu/4.4/include-fixed -I/usr/include $(GTK_CFLAGS) -fPIC  -MMD -MP -MF pca_emp/pca_emp.o.d -o pca_emp/pca_emp.o pca_emp/pca_emp.c


#################################### compilamos plugin PCA ####################################
$(DIR)/plugins/compilados/libpca: pca/pca1.o
    $(CC) -o $(DIR)/plugins/compilados/libpca pca/pca1.o -Ldlib $(GTK_LIB) -L./pca/dlib/ -lglobal_data -fopenmp -L./pca/dlib/ -llapacke -llapack -lblas -lm -lgfortran -shared -fPIC

pca/pca1.o: pca/pca.c
    mkdir -p pca/dlib; cp $(DIR)/dlib/libglobal_data.so pca/dlib
    $(CC) -c -g -I. -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/4.4/include -I/usr/lib/gcc/x86_64-linux-gnu/4.4/include-fixed -I/usr/include $(GTK_CFLAGS) -fPIC  -MMD -MP -MF pca/pca1.o.d -o pca/pca1.o pca/pca.c


#################################### Compilamos plugin Rexistrado ####################################
$(DIR)/plugins/compilados/librexistrado: rexistrado/rexistrado_d.o rexistrado/imaxes.o rexistrado/algoritmo.o rexistrado/hiperspectral.o rexistrado/pca.o rexistrado/pca_HYFM.o rexistrado/reg_HYFM.o
    cp rexistrado/tipo_datos.h main/headers/
    $(CC) -Wl,-rpath=dlib -o $(DIR)/plugins/compilados/librexistrado rexistrado/imaxes.o rexistrado/algoritmo.o rexistrado/hiperspectral.o rexistrado/pca.o rexistrado/pca_HYFM.o rexistrado/reg_HYFM.o rexistrado/rexistrado_d.o -Ldlib $(GTK_LIB) $(FFTW3_CFLAGS) -L./rexistrado/dlib/ -lglobal_data -fopenmp -L./rexistrado/dlib/ -llapacke -llapack -lblas -O3 -lm -Ldlib -lfftw3 -lgfortran -shared -fPIC

rexistrado/imaxes.o: rexistrado/imaxes.c
    $(CC) -c -g -I./ $(GTK_CFLAGS) -fPIC -MMD -MP -MF rexistrado/imaxes.o.d -o rexistrado/imaxes.o rexistrado/imaxes.c

rexistrado/algoritmo.o: rexistrado/algoritmo.c
    $(CC) -c -g -I./ $(GTK_CFLAGS) -fPIC -MMD -MP -MF rexistrado/algoritmo.o.d -o rexistrado/algoritmo.o rexistrado/algoritmo.c

rexistrado/hiperspectral.o: rexistrado/hiperspectral.c
    $(CC) -c -g -I./ $(GTK_CFLAGS) -fPIC -MMD -MP -MF rexistrado/hiperspectral.o.d -o rexistrado/hiperspectral.o rexistrado/hiperspectral.c

rexistrado/pca.o: rexistrado/pca.c
    $(CC) -c -g -I. -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/4.4/include -I/usr/lib/gcc/x86_64-linux-gnu/4.4/include-fixed -I/usr/include $(GTK_CFLAGS) -lopenblas -O3 -fopenmp -Wl,-rpath=dlib -fPIC  -MMD -MP -MF rexistrado/pca.o.d -o rexistrado/pca.o rexistrado/pca.c

rexistrado/pca_HYFM.o: rexistrado/pca_HYFM.c
    $(CC) -c -g -I. -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/4.4/include -I/usr/lib/gcc/x86_64-linux-gnu/4.4/include-fixed -I/usr/include $(GTK_CFLAGS) -lm -llapacke -lblas -lgfortran -O3 -fopenmp -Wl,-rpath=dlib -fPIC  -MMD -MP -MF rexistrado/pca_HYFM.o.d -o rexistrado/pca_HYFM.o rexistrado/pca_HYFM.c

rexistrado/reg_HYFM.o: rexistrado/reg_HYFM.c
    $(CC) -c -g -I. -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/4.4/include -I/usr/lib/gcc/x86_64-linux-gnu/4.4/include-fixed -I/usr/include $(GTK_CFLAGS) -lm -O3 -Wl,-rpath=dlib -fPIC  -MMD -MP -MF rexistrado/reg_HYFM.o.d -o rexistrado/reg_HYFM.o rexistrado/reg_HYFM.c

rexistrado/rexistrado_d.o: rexistrado/rexistrado_d.c
    mkdir -p rexistrado/dlib; cp $(DIR)/dlib/libglobal_data.so rexistrado/dlib
    $(CC) -c -g -I. -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/4.4/include -I/usr/lib/gcc/x86_64-linux-gnu/4.4/include-fixed -I/usr/include $(GTK_CFLAGS) -fPIC  -MMD -MP -MF rexistrado/rexistrado_d.o.d -o rexistrado/rexistrado_d.o rexistrado/rexistrado_d.c


#################################### Compilamos plugin rqs ####################################
$(DIR)/plugins/compilados/librqs: rqs/Image.o rqs/RCMG-CPU.o rqs/quickshift_cpu.o rqs/rqs.o
    $(CPLUS) -o $(DIR)/plugins/compilados/librqs rqs/Image.o rqs/RCMG-CPU.o rqs/quickshift_cpu.o rqs/rqs.o -L./dlib $(GTK_LIB) -fopenmp -Wall -fno-strict-aliasing -DUNIX -I. -L./rqs/dlib/ -lglobal_data -shared -fPIC

rqs/Image.o: rqs/Image.cpp
    mkdir -p rqs/dlib; cp $(DIR)/dlib/libglobal_data.so rqs/dlib; cp $(DIR)/dlib/libimg_format.so rqs/dlib
    $(CPLUS) -c -g -I./ $(GTK_CFLAGS) -fPIC  -MMD -MP -MF rqs/Image.o.d -o rqs/Image.o rqs/Image.cpp

rqs/RCMG-CPU.o: rqs/RCMG-CPU.cpp
    $(CPLUS) -c -g -I./ $(GTK_CFLAGS) -fPIC  -MMD -MP -MF rqs/RCMG-CPU.o.d -o rqs/RCMG-CPU.o rqs/RCMG-CPU.cpp

rqs/quickshift_cpu.o: rqs/quickshift_cpu.cpp
    $(CPLUS) -c -g -I./ $(GTK_CFLAGS) -fPIC  -MMD -MP -MF rqs/quickshift_cpu.o.d -o rqs/quickshift_cpu.o rqs/quickshift_cpu.cpp

rqs/rqs.o: rqs/rqs.cpp
    $(CPLUS) -c -g -I./ $(GTK_CFLAGS) -fPIC  -MMD -MP -MF rqs/rqs.o.d -o rqs/rqs.o rqs/rqs.cpp


#################################### Compilamos plugin svm ####################################
$(DIR)/plugins/compilados/libsvmPredict: svm/svm-predict.o svm/svm-train.o svm/svm.o svm/svmPrediction.o
    $(CPLUS) -o $(DIR)/plugins/compilados/libsvmPredict svm/svm-predict.o svm/svm-train.o svm/svm.o svm/svmPrediction.o -L./svm/dlib $(GTK_LIB) -lglobal_data -shared -fPIC

svm/svm-predict.o: svm/svm-predict.c
    mkdir -p svm/dlib; cp $(DIR)/dlib/libglobal_data.so svm/dlib
    $(CC) -c -g -I. -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/4.4/include -I/usr/lib/gcc/x86_64-linux-gnu/4.4/include-fixed -I/usr/include $(GTK_CFLAGS) -fPIC  -MMD -MP -MF svm/svm-predict.o.d -o svm/svm-predict.o svm/svm-predict.c

svm/svm-train.o: svm/svm-train.c
    $(CC) -c -g -I. -I/usr/local/include -I/usr/lib/gcc/x86_64-linux-gnu/4.4/include -I/usr/lib/gcc/x86_64-linux-gnu/4.4/include-fixed -I/usr/include $(GTK_CFLAGS) -fPIC  -MMD -MP -MF svm/svm-train.o.d -o svm/svm-train.o svm/svm-train.c

svm/svm.o: svm/svm.cpp
    $(CPLUS) -c -g -I. $(GTK_CFLAGS) -fPIC  -MMD -MP -MF svm/svm.o.d -o svm/svm.o svm/svm.cpp

svm/svmPrediction.o: svm/svmPrediction.cpp
    $(CPLUS) -c -g -I. $(GTK_CFLAGS) -fPIC  -MMD -MP -MF svm/svmPrediction.o.d -o svm/svmPrediction.o svm/svmPrediction.cpp


#################################### Compilamos plugin watershed ####################################
$(DIR)/plugins/compilados/libwatershed: watershed/CA-WSHED.o watershed/RCMG-CPU.o watershed/watershed.o
    $(CPLUS) -o $(DIR)/plugins/compilados/libwatershed watershed/CA-WSHED.o watershed/RCMG-CPU.o watershed/watershed.o -Lwatershed/dlib $(GTK_LIB) -fopenmp -lglobal_data -shared -fPIC

watershed/CA-WSHED.o: watershed/CA-WSHED.cpp
    mkdir -p watershed/dlib; cp $(DIR)/dlib/libglobal_data.so watershed/dlib; cp $(DIR)/dlib/libimg_format.so watershed/dlib
    $(CPLUS) -c -g -I./ $(GTK_CFLAGS) -fPIC  -MMD -MP -MF watershed/CA-WSHED.o.d -o watershed/CA-WSHED.o watershed/CA-WSHED.cpp

watershed/RCMG-CPU.o: watershed/RCMG-CPU.cpp
    $(CPLUS) -c -g -I./ $(GTK_CFLAGS) -fPIC  -MMD -MP -MF watershed/RCMG-CPU.o.d -o watershed/RCMG-CPU.o watershed/RCMG-CPU.cpp

watershed/watershed.o: watershed/watershed.c
    $(CC) -c -g $(GTK_CFLAGS) -fPIC  -MMD -MP -MF watershed/watershed.o.d -o watershed/watershed.o watershed/watershed.c


#################################### Compilamos el plugin majority voting watershed ####################################
$(DIR)/plugins/compilados/libmajorityv_watershed: mv_w/majorityVoteWatershed.o
    $(CC) -o $(DIR)/plugins/compilados/libmajorityv_watershed mv_w/majorityVoteWatershed.o -L./mv_w/dlib $(GK_LIB) -fopenmp -lglobal_data -shared -fPIC

mv_w/majorityVoteWatershed.o: mv_w/majorityVoteWatershed.c
    mkdir -p mv_w/dlib; cp $(DIR)/dlib/libglobal_data.so mv_w/dlib; cp $(DIR)/dlib/libimg_format.so mv_w/dlib
    $(CC) -c -g $(GTK_CFLAGS) -fPIC  -MMD -MP -MF mv_w/majorityVoteWatershed.o.d -o mv_w/majorityVoteWatershed.o mv_w/majorityVoteWatershed.c


#################################### Compilamos el plugin Smoothing ####################################
$(DIR)/plugins/compilados/libsmoothing: smoothing/smoothing.o
    $(CC) -o $(DIR)/plugins/compilados/libsmoothing smoothing/smoothing.o -L./smoothing/dlib $(GK_LIB) -fopenmp -lglobal_data -shared -fPIC

smoothing/smoothing.o: smoothing/smoothing.c
    mkdir -p smoothing/dlib; cp $(DIR)/dlib/libglobal_data.so smoothing/dlib
    $(CC) -c -g $(GTK_CFLAGS) -fPIC  -MMD -MP -MF smoothing/smoothing.o.d -o smoothing/smoothing.o smoothing/smoothing.c

I put several dependencies in order to force make to only compile when a file has changed. However make is compiling the main file called HypeRvieW/HypeRvieW every time I run make. Is there a way I can modify it to not compile this file every time? The other files work properly and only are compiled when they have been modified. Running make will always trigger a recompile of this main file HypeRvieW/HypeRvieW, even if nothing has changed. None of the files have changed, so why is it doing this?

  • 1
    Is it because it depends on start, and start does not exist, and is not phony? – ctrl-alt-delor Mar 9 at 18:43
2

It is because it depends on start, and start does not exist, and is not phony?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.