comparison makefile @ 0:c174ac668e9f

First commit ! (ver2.8)
author pyon@macmini
date Tue, 05 Apr 2011 18:44:57 +0900
parents
children e0cf49906039
comparison
equal deleted inserted replaced
-1:000000000000 0:c174ac668e9f
1 #
2 # Makefile for wxWidgets Application
3 # Last Change: 14-Feb-2011.
4 # by Takayuki Mutoh
5 #
6
7 # Program Name
8 PROGNAME = searcher2
9 ### Variables: ###
10 OBJDIR = ./obj
11 CXX = g++
12 vpath %.cpp ./src
13 vpath %.h ./include
14
15 ifdef COMSPEC
16 # for Microsoft Windows
17 WXCPPFLAGS = -I/local/lib/wx/include/msw-unicode-release-static-2.8 \
18 -I/local/include/wx-2.8 \
19 -D__WXMSW__
20 WXLIBS = -L/local/lib -Wl,--subsystem,windows -mwindows \
21 -lwx_mswu_richtext-2.8 \
22 -lwx_mswu_aui-2.8 \
23 -lwx_mswu_xrc-2.8 \
24 -lwx_mswu_qa-2.8 \
25 -lwx_mswu_html-2.8 \
26 -lwx_mswu_adv-2.8 \
27 -lwx_mswu_core-2.8 \
28 -lwx_baseu_xml-2.8 \
29 -lwx_baseu_net-2.8 \
30 -lwx_baseu-2.8 \
31 -lwxregexu-2.8 \
32 -lwxexpat-2.8 \
33 -lwxtiff-2.8 \
34 -lwxjpeg-2.8 \
35 -lwxpng-2.8 \
36 -lwxzlib-2.8 \
37 -lrpcrt4 \
38 -loleaut32 \
39 -lole32 \
40 -luuid \
41 -lwinspool \
42 -lwinmm \
43 -lshell32 \
44 -lcomctl32 \
45 -lcomdlg32 \
46 -lctl3d32 \
47 -ladvapi32 \
48 -lwsock32 \
49 -lgdi32
50 EXECUTABLE = $(PROGNAME).exe
51
52 else
53 # for Apple MacOSX
54 # 2.9
55 #CPPFLAGS = -I/opt/local/lib/wx-devel/wx/include/osx_carbon-unicode-release-2.9 \
56 # -I/opt/local/include/wx-devel/wx-2.9 \
57 # -I./include \
58 # -D_FILE_OFFSET_BITS=64 \
59 # -DWXUSINGDLL \
60 # -D__WXOSX__ \
61 # -D__WXOSX_CARBON__
62 #LIBS = -framework IOKit \
63 # -framework Carbon \
64 # -framework Cocoa \
65 # -framework System \
66 # -framework QuickTime \
67 # -framework OpenGL \
68 # -framework AudioToolbox \
69 # -lwx_osx_carbonu-2.9 \
70 # -L/opt/local/lib/wx-devel
71 # 2.8
72 WXCPPFLAGS = -I/opt/local/lib/wx/include/mac-unicode-release-2.8 \
73 -I/opt/local/include/wx-2.8 \
74 -D_FILE_OFFSET_BITS=64 \
75 -D_LARGE_FILES \
76 -D__WXMAC__
77 WXLIBS = -framework IOKit \
78 -framework Carbon \
79 -framework Cocoa \
80 -framework System \
81 -framework QuickTime \
82 -framework OpenGL \
83 -framework AGL \
84 -lwx_macu-2.8 \
85 -L/opt/local/lib \
86 -arch i386
87
88 EXECUTABLE = $(PROGNAME).app/Contents/PkgInfo
89
90 endif
91
92 OBJ = $(OBJDIR)/main.o \
93 $(OBJDIR)/myframe.o \
94 $(OBJDIR)/hhsdb.o \
95 $(OBJDIR)/htmlhelp.o \
96 $(OBJDIR)/wxsqlite3.o
97 ifdef COMSPEC
98 OBJMSW = $(OBJ) $(OBJDIR)/sample_rc.o
99 endif
100
101 # user include
102 CPPFLAGS = $(WXCPPFLAGS) -I./include -I./img
103 # user lib
104 LIBS = $(WXLIBS)
105
106
107 ### Targets: ###
108
109 all: $(EXECUTABLE)
110
111 ifdef COMSPEC
112 $(PROGNAME): $(OBJMSW)
113 $(CXX) $^ -o $@ $(LIBS) sqlite3.a
114 else
115 $(PROGNAME): $(OBJ)
116 $(CXX) $^ -o $@ $(LIBS) -lsqlite3
117 endif
118
119 $(OBJDIR)/main.o: main.cpp main.h myframe.h common.h
120 $(CXX) -c $< -o $@ $(CPPFLAGS)
121
122 $(OBJDIR)/myframe.o: myframe.cpp myframe.h symbol.h common.h
123 $(CXX) -c $< -o $@ $(CPPFLAGS)
124
125 $(OBJDIR)/hhsdb.o: hhsdb.cpp hhsdb.h common.h
126 $(CXX) -c $< -o $@ $(CPPFLAGS)
127
128 $(OBJDIR)/htmlhelp.o: htmlhelp.cpp htmlhelp.h common.h
129 $(CXX) -c $< -o $@ $(CPPFLAGS)
130
131 $(OBJDIR)/wxsqlite3.o: wxsqlite3.cpp
132 $(CXX) -c $< -o $@ $(CPPFLAGS) -I./include/wx
133
134
135 # for icon
136 ifdef COMSPEC
137 $(OBJDIR)/sample_rc.o: sample.rc
138 windres -i sample.rc -o $@ -I/local/include/wx-2.8
139 endif
140
141
142 $(EXECUTABLE): $(PROGNAME)
143 ifdef COMSPEC
144 strip $(EXECUTABLE)
145 else
146 -mkdir -p $(PROGNAME).app/Contents
147 -mkdir -p $(PROGNAME).app/Contents/MacOS
148 -mkdir -p $(PROGNAME).app/Contents/Resources
149
150 sed -e "s/IDENTIFIER/$(PROGNAME)/" \
151 -e "s/EXECUTABLE/$(PROGNAME)/" \
152 -e "s/VERSION/0.0/" \
153 Info.plist.in > $(PROGNAME).app/Contents/Info.plist
154
155 echo -n "APPL????" > $(EXECUTABLE)
156
157 ln -f $(PROGNAME) $(PROGNAME).app/Contents/MacOS/$(PROGNAME)
158 cp -f wxmac.icns $(PROGNAME).app/Contents/Resources/wxmac.icns
159
160 open $(PROGNAME).app
161 endif
162
163
164 clean:
165 rm -f $(PROGNAME) $(PROGNAME).exe
166 rm -f $(OBJDIR)/*.o
167 rm -rf $(PROGNAME).app
168
169 .PHONY: all clean
170