view makefile @ 19:710be7b6a873

arranged FrameCnn's controls.
author pyon@macmini
date Mon, 18 Jul 2011 22:08:04 +0900
parents 2221c7aa5958
children 39f9f1c7618c
line wrap: on
line source

#
# Makefile for wxWidgets Application
#  Last Change: 13-Jul-2011.
#  by Takayuki Mutoh
#

# Program Name
PROGNAME = searcher2
### Variables: ###
OBJDIR = ./obj
CXX = g++
vpath %.cpp ./src
vpath %.h   ./include

ifdef COMSPEC
# for Microsoft Windows
WXCPPFLAGS = -I/local/lib/wx/include/msw-unicode-release-static-2.8 \
		   -I/local/include/wx-2.8 \
		   -D__WXMSW__
WXLIBS = -L/local/lib -Wl,--subsystem,windows -mwindows \
	   -lwx_mswu_richtext-2.8 \
	   -lwx_mswu_aui-2.8 \
	   -lwx_mswu_xrc-2.8 \
	   -lwx_mswu_qa-2.8 \
	   -lwx_mswu_html-2.8 \
	   -lwx_mswu_adv-2.8 \
	   -lwx_mswu_core-2.8 \
	   -lwx_baseu_xml-2.8 \
	   -lwx_baseu_net-2.8 \
	   -lwx_baseu-2.8 \
	   -lwxregexu-2.8 \
	   -lwxexpat-2.8 \
	   -lwxtiff-2.8 \
	   -lwxjpeg-2.8 \
	   -lwxpng-2.8 \
	   -lwxzlib-2.8 \
	   -lrpcrt4 \
	   -loleaut32 \
	   -lole32 \
	   -luuid \
	   -lwinspool \
	   -lwinmm \
	   -lshell32 \
	   -lcomctl32 \
	   -lcomdlg32 \
	   -lctl3d32 \
	   -ladvapi32 \
	   -lwsock32 \
	   -lgdi32
EXECUTABLE = $(PROGNAME).exe

else
# for Apple MacOSX
# 2.8
WXCPPFLAGS = -I/opt/local/lib/wx/include/mac-unicode-release-2.8 \
		   -I/opt/local/include/wx-2.8 \
		   -D_FILE_OFFSET_BITS=64 \
		   -D_LARGE_FILES \
		   -D__WXMAC__
WXLIBS = -framework IOKit \
	   -framework Carbon \
       -framework Cocoa \
       -framework System \
       -framework QuickTime \
       -framework OpenGL \
       -framework AGL \
       -lwx_macu-2.8 \
       -L/opt/local/lib \
       -arch i386

EXECUTABLE = $(PROGNAME).app/Contents/PkgInfo

endif

OBJ = $(OBJDIR)/main.o \
	  $(OBJDIR)/myframe.o \
	  $(OBJDIR)/ccnframe.o \
	  $(OBJDIR)/preview.o \
	  $(OBJDIR)/hhsdb.o \
	  $(OBJDIR)/htmlhelp.o \
	  $(OBJDIR)/wxsqlite3.o
ifdef COMSPEC
OBJMSW = $(OBJ) $(OBJDIR)/sample_rc.o
endif

# user include
CPPFLAGS = $(WXCPPFLAGS) -I./include -I./img
# user lib
LIBS = -static-libgcc -static-libstdc++ $(WXLIBS)


### Targets: ###

all: $(EXECUTABLE)

ifdef COMSPEC
$(PROGNAME): $(OBJMSW)
	$(CXX) $^ -o $@ $(LIBS) sqlite3.a
else
$(PROGNAME): $(OBJ)
	$(CXX) $^ -o $@ $(LIBS) -lsqlite3
endif

$(OBJDIR)/main.o: main.cpp main.h myframe.h common.h
	$(CXX) -c $< -o $@ $(CPPFLAGS)

$(OBJDIR)/myframe.o: myframe.cpp myframe.h symbol.h common.h
	$(CXX) -c $< -o $@ $(CPPFLAGS)

$(OBJDIR)/ccnframe.o: ccnframe.cpp ccnframe.h symbol.h common.h
	$(CXX) -c $< -o $@ $(CPPFLAGS)

$(OBJDIR)/preview.o: preview.cpp preview.h common.h
	$(CXX) -c $< -o $@ $(CPPFLAGS)

$(OBJDIR)/hhsdb.o: hhsdb.cpp hhsdb.h common.h
	$(CXX) -c $< -o $@ $(CPPFLAGS)

$(OBJDIR)/htmlhelp.o: htmlhelp.cpp htmlhelp.h common.h
	$(CXX) -c $< -o $@ $(CPPFLAGS)

$(OBJDIR)/wxsqlite3.o: wxsqlite3.cpp
	$(CXX) -c $< -o $@ $(CPPFLAGS) -I./include/wx


# for icon
ifdef COMSPEC
$(OBJDIR)/sample_rc.o: sample.rc
	windres -i sample.rc -o $@ -I/local/include/wx-2.8
endif


$(EXECUTABLE): $(PROGNAME)
ifdef COMSPEC
	strip --strip-all $(EXECUTABLE)
else
	-mkdir -p $(PROGNAME).app/Contents
	-mkdir -p $(PROGNAME).app/Contents/MacOS
	-mkdir -p $(PROGNAME).app/Contents/Resources
	
	sed -e "s/IDENTIFIER/$(PROGNAME)/" \
	-e "s/EXECUTABLE/$(PROGNAME)/" \
	-e "s/VERSION/0.0/" \
	Info.plist.in > $(PROGNAME).app/Contents/Info.plist
	
	echo -n "APPL????" > $(EXECUTABLE)
	
	ln -f $(PROGNAME) $(PROGNAME).app/Contents/MacOS/$(PROGNAME)
	cp -f wxmac.icns $(PROGNAME).app/Contents/Resources/wxmac.icns

	open $(PROGNAME).app
endif


clean:
	rm -f $(PROGNAME) $(PROGNAME).exe
	rm -f $(OBJDIR)/*.o
	rm -rf $(PROGNAME).app

.PHONY:	all clean