comparison makefile @ 0:7bf900d47e9e

start mover2
author pyon@macmini
date Sat, 15 Oct 2011 13:24:27 +0900
parents
children b47bd4618c16
comparison
equal deleted inserted replaced
-1:000000000000 0:7bf900d47e9e
1 #
2 # Makefile for wxWidgets Application
3 # Last Change: 15-Oct-2011.
4 # by Takayuki Mutoh
5 #
6
7 # Program Name
8 PROGNAME = mover2
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.8
55 WXCPPFLAGS = -I/opt/local/lib/wx/include/mac-unicode-release-2.8 \
56 -I/opt/local/include/wx-2.8 \
57 -D_FILE_OFFSET_BITS=64 \
58 -D_LARGE_FILES \
59 -D__WXMAC__
60 WXLIBS = -framework IOKit \
61 -framework Carbon \
62 -framework Cocoa \
63 -framework System \
64 -framework QuickTime \
65 -framework OpenGL \
66 -framework AGL \
67 -lwx_macu-2.8 \
68 -L/opt/local/lib \
69 -arch i386
70
71 EXECUTABLE = $(PROGNAME).app/Contents/PkgInfo
72
73 endif
74
75 OBJ = $(OBJDIR)/main.o \
76 $(OBJDIR)/myframe.o \
77 $(OBJDIR)/param.o
78 ifdef COMSPEC
79 OBJMSW = $(OBJ) $(OBJDIR)/sample_rc.o
80 endif
81
82 # user include
83 CPPFLAGS = $(WXCPPFLAGS) -I./include -I./img
84 # user lib
85 LIBS = -static-libgcc -static-libstdc++ $(WXLIBS)
86
87
88 ### Targets: ###
89
90 all: $(EXECUTABLE)
91
92 ifdef COMSPEC
93 $(PROGNAME): $(OBJMSW)
94 $(CXX) $^ -o $@ $(LIBS)
95 else
96 $(PROGNAME): $(OBJ)
97 $(CXX) $^ -o $@ $(LIBS)
98 endif
99
100
101 $(OBJDIR)/main.o: main.cpp main.h myframe.h common.h testframe.cpp symbol.h
102 -mkdir -p $(OBJDIR)
103 $(CXX) -c $< -o $@ $(CPPFLAGS)
104
105 $(OBJDIR)/myframe.o: myframe.cpp myframe.h common.h main.h
106 $(CXX) -c $< -o $@ $(CPPFLAGS)
107
108 $(OBJDIR)/param.o: param.cpp param.h common.h main.h
109 $(CXX) -c $< -o $@ $(CPPFLAGS)
110
111 testtune: testtune.cpp
112 $(CXX) $< -o $@ $(CPPFLAGS) $(LIBS)
113
114
115 # for icon
116 ifdef COMSPEC
117 $(OBJDIR)/sample_rc.o: sample.rc
118 windres -i sample.rc -o $@ -I/local/include/wx-2.8
119 endif
120
121
122 $(EXECUTABLE): $(PROGNAME)
123 ifdef COMSPEC
124 strip --strip-all $(EXECUTABLE)
125 else
126 -mkdir -p $(PROGNAME).app/Contents
127 -mkdir -p $(PROGNAME).app/Contents/MacOS
128 -mkdir -p $(PROGNAME).app/Contents/Resources
129
130 sed -e "s/IDENTIFIER/$(PROGNAME)/" \
131 -e "s/EXECUTABLE/$(PROGNAME)/" \
132 -e "s/VERSION/0.0/" \
133 Info.plist.in > $(PROGNAME).app/Contents/Info.plist
134
135 echo -n "APPL????" > $(EXECUTABLE)
136
137 ln -f $(PROGNAME) $(PROGNAME).app/Contents/MacOS/$(PROGNAME)
138 cp -f wxmac.icns $(PROGNAME).app/Contents/Resources/wxmac.icns
139
140 open $(PROGNAME).app
141 endif
142
143
144 clean:
145 rm -f $(PROGNAME) $(PROGNAME).exe
146 rm -f $(OBJDIR)/*.o
147 rm -rf $(PROGNAME).app
148
149 .PHONY: all clean
150