Update the changelog
[opencv] / _make / make_module_gnu.mak
1 SRC_DIRS := $(addprefix $(SRC_ROOT)/, $(SRC_DIRS))
2 SRC_GLOB := $(addsuffix /*.cpp, $(SRC_DIRS))
3
4 ifndef OBJS
5     OBJS := $(notdir $(patsubst %.cpp, %.o, $(wildcard $(SRC_GLOB))))
6 endif
7
8 ifndef VER
9     VER := 100
10 endif
11
12 ifndef DEBUG
13     DEBUG := 0
14 endif
15
16 ifneq ($(DEBUG),0)
17     DBG := d
18     CXXFLAGS_DBG := -D"_DEBUG" -O0 -ggdb3
19 else
20     DBG :=
21     CXXFLAGS_DBG := -D"NDEBUG" -O3 -g -fomit-frame-pointer -march=i686 -ffast-math
22 endif
23
24
25 ifneq ("$(BINTYPE)","DLL")
26     OUTBIN := ../../bin/$(TARGET)$(DBG).exe
27     LINKFLAGS_DLL := -Wl,-call_shared
28 else
29     OUTBIN := ../../bin/$(TARGET)$(VER)$(DBG).dll
30     OUTLIB := ../../lib/lib$(TARGET)$(DBG).a
31     LINKFLAGS_DLL := -shared -Wl,-call_shared,--out-implib,$(OUTLIB)
32 endif
33
34 ifndef CXX
35     CXX := g++
36 endif
37
38 ifndef LINK
39     LINK := $(CXX)
40 endif
41
42 CXXFLAGS := -D"WIN32" -D"_WINDOWS" $(CXXFLAGS_DBG) $(CXXFLAGS) -Wall -pipe -c
43 LINKFLAGS := -Wl,-L../../lib $(LINKFLAGS_DLL)
44 LIBS := -lkernel32 -luser32 -lgdi32 -ladvapi32 $(LIBS)
45
46 #$(error error is $(OBJS))
47 VPATH := $(SRC_DIRS)
48
49 $(OUTBIN): $(OBJS)
50         @-mkdir ..\..\bin 2> nul
51         @-mkdir ..\..\lib 2> nul
52         @$(LINK) $(LINKFLAGS) $^ -o $@ $(LIBS)
53
54 %.o: %.cpp
55         @echo $@
56         @$(CXX) $(CXXFLAGS) $<
57
58 %.o: %.c
59         @echo $@
60         @$(CXX) $(CXXFLAGS) $<
61
62 $(OBJS): $(INCS)