| 
0
 | 
     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 
 |