1 |
# Useful directories |
2 |
# the path to Geo's C++ utility library source code |
3 |
GCD := ../gclib |
4 |
|
5 |
#this must be the paths to FOX install prefix directory |
6 |
# ( with the ./include/fox-1.6 and ./lib subdirectories ) |
7 |
|
8 |
FOXPREFIX = /opt/geo |
9 |
# -- in MinGW we MUST use MSYS' make to map these paths correctly: ./MinGW/opt/geo) |
10 |
|
11 |
# -- modify this too if the FOX include files are somewhere else |
12 |
FOXINCDIR := ${FOXPREFIX}/include/fox-1.6 |
13 |
FOXLIBDIR := ${FOXPREFIX}/lib |
14 |
FOXLIB := ${FOXLIBDIR}/libFOX-1.6.a |
15 |
|
16 |
LDFLAGS := -lm -lbzip2 -lz -lpng -lgdi32 -lcomctl32 -lws2_32 |
17 |
RESWRAP := ${FOXPREFIX}/bin/reswrap.exe |
18 |
|
19 |
# Directories to search for header files |
20 |
INCDIRS := -I. -I${GCD} -I${FOXINCDIR} |
21 |
|
22 |
|
23 |
CXXFLAGS = -Wall -Wextra -Wformat -Woverloaded-virtual -Wshadow -g -O2 -march=i686 -Wuninitialized \ |
24 |
-ffast-math -fstrict-aliasing -finline-functions -fomit-frame-pointer -fexpensive-optimizations |
25 |
DEFINES = -DFOX_BIGENDIAN=0 -D_WINDOWS -DDEBUG -D_DEBUG -DWIN32 -D_WIN32 -DMINGW -DMINGW32 |
26 |
|
27 |
# C++ compiler |
28 |
CXX := g++ |
29 |
LINKER := g++ |
30 |
RM := rm -f |
31 |
%.o : %.cpp |
32 |
${CXX} $(INCDIRS) -c $< -o $@ $(CXXFLAGS) $(DEFINES) |
33 |
|
34 |
OBJS = ./appmain.o ./mdichild.o ./clrutils.o ${GCD}/GBase.o ${GCD}/LayoutParser.o ${GCD}/AceParser.o ./mainwin.o ./FXClView.o |
35 |
|
36 |
ICONS = adie_gif.gif |
37 |
ICONS += big_gif.gif |
38 |
ICONS += bookdel_gif.gif |
39 |
ICONS += booknext_gif.gif |
40 |
|
41 |
.PHONY : all |
42 |
all: clview.exe |
43 |
debug: all |
44 |
static: all |
45 |
|
46 |
clrutils.o : clrutils.h |
47 |
mdichild.o : clv_icons.h mdichild.h FXClView.h |
48 |
FXClView.o : FXClView.h |
49 |
mainwin.o : mainwin.h |
50 |
|
51 |
# -- to generate cpp files from gifs : |
52 |
#icons.h: $(ICONS) |
53 |
# $(RESWRAP) -i -o icons.h $(ICONS) |
54 |
# |
55 |
#icons.cpp: $(ICONS) |
56 |
# $(RESWRAP) -e -o icons.cpp $(ICONS) |
57 |
|
58 |
|
59 |
clview.exe: ${OBJS} $(FOXLIB) |
60 |
$(LINKER) -o $@ $(OBJS) $(FOXLIB) $(LDFLAGS) |
61 |
strip $@ |
62 |
|
63 |
#clview : $(OBJS) |
64 |
# ${LINKER} ${LDFLAGS} -o $@ ${filter-out %.a %.so, $^} ${LIBS} |
65 |
|
66 |
|
67 |
# target for removing all object files |
68 |
|
69 |
.PHONY : clean |
70 |
clean:: |
71 |
${RM} clview core* *.exe ${OBJS} |