1FLAGGED_MKOCTFILE = @MKOCTFILE@ @XTRA_CXXFLAGS@ @CXXFLAGS@ 2 3## We can't link oct files, and Octave's package system does not handle 4## shared libraries. Because of this, we need to create object files for 5## our "shared" libraries and statically link to selected oct files. 6 7conn_dependent = conndef.oct bwlabeln.oct imreconstruct.oct bwconncomp.oct \ 8 watershed.oct 9strel_dependent = imerode.oct 10libs = connectivity.o strel.o 11 12OCT_FILES = __spatial_filtering__.oct __bilateral__.oct __eps__.oct \ 13 __custom_gaussian_smoothing__.oct __boundary__.oct bwfill.oct \ 14 rotate_scale.oct hough_line.oct graycomatrix.oct bwdist.oct \ 15 intlut.oct nonmax_suppress.oct $(strel_dependent) $(conn_dependent) 16 17M_FILES = @M_FILES@ 18 19CC_FILES = $(patsubst %.oct, %.cc, ${OCT_FILES}) 20 21all: ${OCT_FILES} ${M_FILES} 22 23%.o: %.cc %.h 24 $(FLAGGED_MKOCTFILE) -c $< 25 26$(conn_dependent): %.oct: %.cc connectivity.o 27 $(FLAGGED_MKOCTFILE) $^ 28 29$(strel_dependent): %.oct: %.cc strel.o 30 $(FLAGGED_MKOCTFILE) $^ 31 32%.oct: %.cc 33 $(FLAGGED_MKOCTFILE) $< 34 35%.m: %.m.in 36 cp $< $@ 37 38clean: 39 $(RM) *.o octave-core octave-workspace *~ ${M_FILES} ${OCT_FILES} 40