view makefile @ 4:964129946db6

Release : v2.0 finished !!!
author pyon@macmini
date Sun, 16 Oct 2011 16:21:33 +0900
parents b47bd4618c16
children 52697c869ce8
line wrap: on
line source

#
# Makefile for wxWidgets Application
#  Last Change: 15-Oct-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)/param.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)
else
$(PROGNAME): $(OBJ)
	$(CXX) $^ -o $@ $(LIBS)
endif


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

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

$(OBJDIR)/param.o: param.cpp param.h common.h main.h
	$(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