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