Почему make перекомпилирует все в этом make-файле? - PullRequest
0 голосов
/ 09 марта 2019

У меня есть следующий make-файл:

#
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

all:  start_aux global_data.so librexistrado libmatlab.so libhrw.so libimg_format.so librawm.so tiff.o libelm libpca_emp libpca librqs libsvmPredict libwatershed libmajorityv_watershed libmajorityv_rqs libsmoothing libdenoising mainCopy_aux ayuda.o classification.o gtk-diagram.o gtk-plugin.o gtk-pin.o gtk-connection.o gtk-context-menu.o gtk-notification.o colors.o dialogUtils.o progressbar.o utilFunctions.o eventHelper.o renderHelper.o fileSystem.o openHelper.o saveHelper.o execute.o executeHelper.o  common_functions.o ground_truth.o histogram.o image.o interface_plugins.o main.o md5.o manage_files.o manage_plugin.o color.o editor_ground_truth.o editor_segmented_image.o menu.o signals.o window.o 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

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

mainCopy_aux:
    if [ ! -d "./$(DIR)" ]; then 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); fi

#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 libs/*.* $(DIR)/dlib
#   cp database.json $(DIR)

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

#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-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

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

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

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

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

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

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

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

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

# strings.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/strings.o.d -o main/classification/utils/strings.o main/classification/utils/strings.c
#
# styles.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/styles.o.d -o main/classification/utils/styles.o main/classification/utils/styles.c
#
# types.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/types.o.d -o main/classification/utils/types.o main/classification/utils/types.c

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
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

renderHelper.o: main/classification/helpers/renderHelper.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/renderHelper.o.d -o main/classification/helpers/renderHelper.o main/classification/helpers/renderHelper.c

#fileSystem
fileSystem.o: main/classification/fileSystem/fileSystem.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/fileSystem.o.d -o main/classification/fileSystem/fileSystem.o main/classification/fileSystem/fileSystem.c

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

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
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

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

# clasificacion.o:
#   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/clasificacion.o.d -o main/clasificacion.o main/clasificacion.c

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

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

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

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

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.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

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

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

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

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

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

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

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

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

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

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

start_aux:
    if [ ! -d "./$(DIR)" ]; then mkdir -p $(DIR);   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; else rm -Rf $(DIR)/plugins/es; rm -Rf $(DIR)/plugins/en; fi

#start:
#   if [ -d "./$(DIR)" ]; then rm -R $(DIR);    fi
#   mkdir -p $(DIR)
#   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

    # Compilamos la librería global_data
global_data.so: global_data.o imaxes.o 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.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

    #Compilamos librería HRW
libhrw.so: hrw.o
    $(CC) -o $(DIR)/dlib/libhrw.so hrw/hrw.o -Ldlib $(GLIB_LIB) -L./hrw/dlib/ -lglobal_data -lz -lm -shared -fPIC

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

    # Compilamos librería img_format
libimg_format.so: img_format.o
    $(CC) -o $(DIR)/dlib/libimg_format.so img_format/img_format.o -Ldlib $(GLIB_LIB) -L./img_format/dlib/ -lglobal_data -shared -fPIC

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

    # Compilamos librería matlab
libmatlab.so: matlab.o
    $(CC) -o $(DIR)/dlib/libmatlab.so matlab/matlab.o -Ldlib $(GLIB_LIB) $(LIBMATIO_LIB) -L./matlab/dlib/ -lglobal_data -lm -lz -ldl -shared -fPIC

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

    # Compilamos librería rawm
librawm.so: parson.o rawm.o
    $(CC) -o $(DIR)/dlib/librawm.so rawm/parson.o rawm/rawm.o -Ldlib $(GLIB_LIB)  -L./rawm/dlib/ -lglobal_data -shared -fPIC

rawm.o: rawm/rawm.c
    $(CC) -c -g -Irawm/include $(GLIB_CFLAGS) -fPIC  -MMD -MP -MF rawm/rawm.o.d -o rawm/rawm.o rawm/rawm.c

parson.o: rawm/parson.c
    mkdir -p rawm/dlib; cp $(DIR)/dlib/libglobal_data.so rawm/dlib/libglobal_data.so; mkdir -p rawm/include
    $(CC) -c -g -Irawm/include $(GLIB_CFLAGS) -fPIC  -MMD -MP -MF rawm/parson.o.d -o rawm/parson.o rawm/parson.c

    # Compilamos plugin ELM
libelm: elm_d.o 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_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

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
libpca_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.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
libpca: 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

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
librexistrado: rexistrado_d.o imaxes.o algoritmo.o hiperspectral.o pca.o hyfm
    cp rexistrado/tipo_datos.h main/headers/
    $(CC) -Wl,-rpath=dlib -o $(DIR)/plugins/compilados/libregistration 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

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

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

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

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

hyfm: rexistrado/pca_HYFM.c 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 -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
    $(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_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
librqs: Image.o RCMG-CPU.o quickshift_cpu.o 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

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

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

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.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
libsvmPredict:svm-predict.o svm-train.o svm.o 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-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-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.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

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
libwatershed:CA-WSHED.o RCMG-CPU1.o 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

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

RCMG-CPU1.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.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
libmajorityv_watershed:majorityVoteWatershed.o
    $(CC) -o $(DIR)/plugins/compilados/libmajorityv_watershed mv_w/majorityVoteWatershed.o -L./mv_w/dlib $(GK_LIB) -fopenmp -lglobal_data -shared -fPIC

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
libsmoothing:smoothing.o
    $(CC) -o $(DIR)/plugins/compilados/libsmoothing smoothing/smoothing.o -L./smoothing/dlib $(GK_LIB) -fopenmp -lglobal_data -shared -fPIC

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

    # Compilamos el plugin Denoising
libdenoising:denoising.o
    $(CPLUS) -o $(DIR)/plugins/compilados/libdenoising denoising/denoising.o -L./denoising/dlib $(GK_LIB) -fopenmp -lglobal_data -shared -fPIC

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


    # Compilamos el plugin majority voting RQS
libmajorityv_rqs:majorityVoteRQS.o
    $(CC) -o $(DIR)/plugins/compilados/libmajorityv_rqs mv_rqs/majorityVoteRQS.o -L./mv_rqs/dlib $(GK_LIB) -fopenmp -lglobal_data -shared -fPIC

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

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

end:
    cp -a $(DIR)/plugins/compilados/. $(DIR)/plugins/es
    cp -a $(DIR)/plugins/compilados/. $(DIR)/plugins/en

Я установил несколько зависимостей, чтобы заставить make компилироваться только после изменения файла.Тем не менее, make компилирует все при каждом запуске.Есть ли способ, которым я могу изменить его, чтобы компилировать только файлы, которые были изменены?Запуск make всегда вызывает полную перекомпиляцию, даже если ничего не изменилось.Ни один из файлов не изменился, так почему он это делает?

1 Ответ

1 голос
/ 09 марта 2019

Да.Чтобы сделать это, следуйте второму правилу make-файлов .

Ваши правила гласят, что вы создадите файл, такой как gtk-connection.o.Но то, что на самом деле рецепты в ваших правилах делают , это построить файл, такой как main/classification/gtk-connection.o.Вы не говорите правду, чтобы сделать, поэтому в следующий раз, когда вы запускаете, make проверяет, существует ли файл gtk-connection.o, и никогда не существует, поэтому make всегда решает восстановить его.

Вам нужнолибо измените цель вашего правила так, чтобы она отражала фактический файл, который вы хотите построить, либо вам нужно изменить свой рецепт, чтобы создать файл, который вы сказали сделать, который вы хотите построить.

В общем, вы действительно должны попытаться взятьПреимущество возможностей make для упрощения make-файлов, таких как правила шаблонов, автоматические переменные и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...