Develop and Download Open Source Software

Browse Subversion Repository

Contents of /trunk/Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5 - (show annotations) (download)
Wed Mar 9 10:14:40 2011 UTC (13 years, 2 months ago) by okadu
File size: 2604 byte(s)
[okadu] Visual Studio 2010 でのビルド環境を暫定設定。
1 ########################################
2 # make 設定
3 .PHONY: all relink cleant clean debug run
4 COMMAND_DEL = rm
5
6 ########################################
7 # Debug or Release
8 #BUILD_MODE = Debug
9 BUILD_MODE = Release
10
11 ifeq ($(BUILD_MODE),Debug)
12 DEBUG_FLAGS = -g
13 endif
14
15 ########################################
16 # コンパイラ設定
17 CC = g++
18 CFLAGS = -O2 -mwindows -w $(DEBUG_FLAGS)
19 DXSDK_PATH = C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)
20 DXSDK_INCLUDE_PATH = $(DXSDK_PATH)/include
21 INCLUDES = -I"$(DXSDK_INCLUDE_PATH)"
22
23 ########################################
24 # リンカ設定
25 CLIBS = -lgdi32 -lole32 -lcomdlg32 -limm32 -lwinmm -lvfw32
26 D3D8LIBS = -ldxguid -ld3d8 -ld3dx8d -ld3dxof -ldinput8 -ldinput -ldsound
27
28 ########################################
29 # ビルド入出力設定
30 OBJ_DIR = $(BUILD_MODE)_gcc
31 TARGET_DIR = RailSim2
32 TARGET = $(TARGET_DIR)/RailSim2_$(BUILD_MODE)_gcc.exe
33
34 RS2_SRCFILES = $(wildcard *.cpp)
35 RS2_OBJFILES = $(addprefix $(OBJ_DIR)/, $(RS2_SRCFILES:.cpp=.o))
36 RS2_DEPFILES = $(addprefix $(OBJ_DIR)/, $(RS2_SRCFILES:.cpp=.d))
37
38 UDX_SRCFILES = $(wildcard lib/*.cpp)
39 UDX_OBJFILES = $(addprefix $(OBJ_DIR)/, $(UDX_SRCFILES:.cpp=.o))
40 UDX_DEPFILES = $(addprefix $(OBJ_DIR)/, $(UDX_SRCFILES:.cpp=.d))
41
42 RES_DIR = res
43 RES_FILES = $(wildcard $(RES_DIR)/*.*)
44 RES_SRCFILE = RailSim2.rc
45 RES_OBJFILE = $(OBJ_DIR)/RailSim2.res
46
47 ########################################
48 # ビルド
49
50 all: $(TARGET)
51
52 $(TARGET): $(RS2_OBJFILES) $(UDX_OBJFILES) $(RES_OBJFILE)
53 $(CC) $(CFLAGS) -o $@ $(RS2_OBJFILES) $(UDX_OBJFILES) \
54 $(D3D8LIBS) $(CLIBS) $(RES_OBJFILE)
55
56 $(OBJ_DIR)/%.o: %.cpp
57 $(CC) $(CFLAGS) -o $@ $(INCLUDES) -c $<
58
59 $(RES_OBJFILE): $(RES_SRCFILE) $(RES_FILES)
60 windres -O coff $(RES_SRCFILE) $(RES_OBJFILE)
61
62 relink: cleant $(TARGET)
63
64 ########################################
65 # 生成したファイルの削除
66
67 cleant:
68 -del $(subst /,\,$(TARGET))
69
70 clean: cleant
71 -del $(OBJ_DIR)\*.res
72 -del $(OBJ_DIR)\*.o
73 -del $(OBJ_DIR)\*.d
74 -del $(OBJ_DIR)\lib\*.o
75 -del $(OBJ_DIR)\lib\*.d
76
77 ########################################
78 # デバッグ・実行コマンド
79
80 debug: $(TARGET)
81 gdb ./$(TARGET)
82
83 run: $(TARGET)
84 ./$(TARGET)
85
86 ########################################
87 # 依存関係の自動チェック
88
89 %.h:
90 @echo DELETED HEADER FILE: $@
91
92 $(OBJ_DIR)/%.d: %.cpp
93 -set /P X=$@ $(OBJ_DIR)/<NUL>$@
94 $(CC) $(CFLAGS) -MM $(INCLUDES) $< >> $@ || del /F $(subst /,\,$@)
95
96 $(OBJ_DIR)/lib/%.d: %.cpp
97 -set /P X=$@ $(OBJ_DIR)/lib/<NUL>$@
98 $(CC) $(CFLAGS) -MM $(INCLUDES) $< >> $@ || del /F $(subst /,\,$@)
99
100 include $(RS2_DEPFILES) $(UDX_DEPFILES)

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26