From: Patrik Gornicz Date: Sun, 16 Nov 2008 01:09:54 +0000 (-0500) Subject: change to mingw32 making X-Git-Tag: physics-premerge~102 X-Git-Url: http://gitweb.pgornicz.com/gitweb.cgi?a=commitdiff_plain;h=9d5863c5ee3249d41297429128a3d3bc7bd14e04;p=libbear.git change to mingw32 making --- diff --git a/.gitignore b/.gitignore index 7a20e26..5c0b528 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ -run_physics -objs deps + +objs +bin + objs-mingw32 bin-mingw32 diff --git a/src/Makefile b/src/Makefile index fa5816a..ecfbc07 100644 --- a/src/Makefile +++ b/src/Makefile @@ -11,9 +11,7 @@ CXXFLAGS := ${MYFLAGS} ${DBGFLAGS} VALFLAGS := --leak-check=full -WORKINGDIR := ../bin -TARGETNAME := run_physics -TARGET := ${WORKINGDIR}/${TARGETNAME} +CXX := g++ SRCS := # := start @@ -36,7 +34,12 @@ DEPSDIR := ../deps/ DEPS := ${SRCS:.cpp=.d} DEPS := $(addprefix ${DEPSDIR},${DEPS}) -BLDDIRS := $(addprefix ${DEPSDIR},${DIRS}) $(addprefix ${OBJSDIR},${DIRS}) +WORKINGDIR := ../bin/ +TARGETNAME := run_physics +TARGETTMP := ${OBJSDIR}${TARGETNAME} +TARGET := ${WORKINGDIR}${TARGETNAME} + +BLDDIRS := $(addprefix ${DEPSDIR},${DIRS}) $(addprefix ${OBJSDIR},${DIRS}) ${WORKINGDIR} VERBOSE := 0 @@ -56,8 +59,13 @@ endif .PHONY: all all: ${TARGET} +# rule to copy tmp target to working directory +${TARGET}: ${TARGETTMP} + ${Q1}echo "cp: $@" + ${Q2}cp $^ $@ + # how to link the main target -${TARGET}: ${OBJS} +${TARGETTMP}: ${OBJS} ${Q1}echo "${CXX}: $@" ${Q2}${CXX} ${CXXFLAGS} -o $@ $^ ${LIBS} @@ -135,4 +143,17 @@ prof: run cd ${WORKINGDIR}; gprof -b ${TARGETNAME} > src/prof kprof -f prof +MINGMAKEARGS := "LIBGL := -lopengl32 -lglu32" \ + "LIBSDL := `/usr/mingw32/bin/sdl-config --libs`" \ + "CXXFLAGS := ${OPTFLAGS}" \ + "CXX := mingw32-g++" \ + "OBJSDIR := ../objs-mingw32/" \ + "WORKINGDIR := ../bin-mingw32" \ + "TARGETNAME := run_physics.exe" + +.PHONY: mingw32 +mingw32: + ${Q1}echo "make: mingw32" + ${Q2}${MAKE} ${MINGMAKEARGS} clean all + -include ${DEPS} diff --git a/src/Makefile.mingw32 b/src/Makefile.mingw32 deleted file mode 100644 index 5961dbf..0000000 --- a/src/Makefile.mingw32 +++ /dev/null @@ -1,140 +0,0 @@ - -LIBGL := -lopengl32 -lglu32 -LIBSDL := `/usr/mingw32/bin/sdl-config --libs` -LIBS := ${LIBSDL} ${LIBGL} - -OPTFLAGS := -O2 -DBGFLAGS := -ggdb -PRFFLAGS := ${DBGFLAGS} -pg -MYFLAGS := -Wall -pedantic -ansi -CXXFLAGS := ${OPTFLAGS} - -VALFLAGS := --leak-check=full - -CXX := mingw32-g++ - -WORKINGDIR := ../bin-mingw32 -TARGETNAME := run_physics.exe -TARGET := ${WORKINGDIR}/${TARGETNAME} - -SRCS := # := start - -DIRS := # := start -DIRS += . -DIRS += Entities -DIRS += GameStates -DIRS += Effects -DIRS += config -DIRS += input -DIRS += graphics - -include $(addsuffix /files.mk,${DIRS}) - -OBJSDIR := ../objs-mingw32/ -OBJS := ${SRCS:.cpp=.o} -OBJS := $(addprefix ${OBJSDIR},${OBJS}) - -DEPSDIR := ../deps/ -DEPS := ${SRCS:.cpp=.d} -DEPS := $(addprefix ${DEPSDIR},${DEPS}) - -BLDDIRS := $(addprefix ${DEPSDIR},${DIRS}) $(addprefix ${OBJSDIR},${DIRS}) - - -VERBOSE := 0 - -ifeq (${VERBOSE},0) - # quiet the echo command - Q1 := @ - # quiet the command that is `replaced' by an echo - Q2 := @ -else - # EAT the echo command as if it was not there - Q1 := @true # NOTE: the space between @true and the # is VERY important!! - # do not quiet the command output - Q2 := -endif - -.PHONY: all -all: ${TARGET} - -# how to link the main target -${TARGET}: ${OBJS} - ${Q1}echo "${CXX}: $@" - ${Q2}${CXX} ${CXXFLAGS} -o $@ $^ ${LIBS} - -# how to make a directory -${BLDDIRS}: - ${Q2}mkdir -p $@ - -# rule to make a depend file from a .cpp -${DEPSDIR}%.d: %.cpp | ${BLDDIRS} - ${Q1}echo "DEP: $@" - ${Q2}${CXX} -MM ${CXXFLAGS} $< | sed 's,\(^.*\):,${OBJSDIR}\1 $@:,' > $@ - -# rule to make an object file from a .cpp -${OBJSDIR}%.o: %.cpp | ${BLDDIRS} - ${Q1}echo "${CXX}: $@" - ${Q2}${CXX} ${CXXFLAGS} -c -o $@ $< - - -tags: ${SRCS} - ${Q1}echo "ctags: $@" - ${Q2}ctags $^ - - -.PHONY: clean -clean: - ${Q1}echo "CLEAN: OBJS" - ${Q2}rm -f ${OBJS} - ${Q1}echo "CLEAN: TARGET" - ${Q2}rm -f ${TARGET} - -.PHONY: distclean -distclean: clean - ${Q1}echo "CLEAN: DEPS" - ${Q2}rm -f ${DEPS} - ${Q1}echo "CLEAN: tags prof gmon.out" - ${Q2}rm -f tags prof gmon.out - -.PHONY: gitclean -gitclean: - ${Q1}echo "git-clean: show, use gitcleanf to force" - ${Q2}cd ..; git clean -nxd - -.PHONY: gitcleanf -gitcleanf: - ${Q1}echo "git-clean: forced" - ${Q2}cd ..; git clean -fxd - -.PHONY: tar -tar: ../physics.tar.bz2 - -.PHONY: ../physics.tar.bz2 -../physics.tar.bz2: - @echo "git-archive: Warning, archives HEAD not current" - ${Q1}echo "git-archive: ../physics.tar.bz2" - ${Q2}cd ..; git-archive --prefix=physics/ HEAD | bzip2 > physics.tar.bz2 - -.PHONY: run -run: all - cd ${WORKINGDIR}; wine ${TARGETNAME} - -.PHONY: gdb -gdb: all - cd ${WORKINGDIR}; gdb ${TARGETNAME} - -.PHONY: cgdb -cgdb: all - cd ${WORKINGDIR}; cgdb ${TARGETNAME} - -.PHONY: val -val: all - cd ${WORKINGDIR}; valgrind ${VALFLAGS} ./${TARGETNAME} - -.PHONY: prof -prof: run - cd ${WORKINGDIR}; gprof -b ${TARGETNAME} > src/prof - kprof -f prof - --include ${DEPS}