view makefile @ 40:ce5b61376fd0 v2.7 tip

complete dirview.
author pyon@macmini
date Fri, 25 Nov 2011 22:08:47 +0900
parents 044cc2f5af81
children
line wrap: on
line source

#
# Makefile for wxWidgets Application
#  Last Change: 24-Nov-2011.
#  by Takayuki Mutoh
#

# Program Name
PROGNAME = mover2
### 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)/dirview.o	\
	  $(OBJDIR)/param.o	\
	  $(OBJDIR)/wxsqlite3.o
ifdef COMSPEC
OBJMSW = $(OBJ) $(OBJDIR)/sample_rc.o
endif

# user include
CPPFLAGS = $(WXCPPFLAGS) -I./include -I./image
# 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 cache.h 
	-mkdir -p $(OBJDIR)
	$(CXX) -c $< -o $@ $(CPPFLAGS)

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

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

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

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

testtune: testtune.cpp
	$(CXX) $< -o $@ $(CPPFLAGS) $(LIBS)


# 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