96 lines
3.2 KiB
Makefile
96 lines
3.2 KiB
Makefile
CSC = gmcs
|
|
CSFLAGS = -nologo -warn:4 -debug:+ -debug:full -optimize- -codepage:utf8 -unsafe
|
|
DEFINE = DEBUG;TRACE
|
|
PROGRAMS =fileformats gl game ra cnc aftermath ra_ng seqed mapcvtr
|
|
|
|
COMMON_LIBS = System.dll System.Core.dll System.Drawing.dll System.Xml.dll
|
|
|
|
fileformats_SRCS = $(shell find OpenRA.FileFormats/ -iname '*.cs')
|
|
fileformats_TARGET = OpenRA.FileFormats.dll
|
|
fileformats_KIND = library
|
|
fileformats_LIBS = $(COMMON_LIBS) thirdparty/Tao/Tao.Sdl.dll
|
|
|
|
gl_SRCS = $(shell find OpenRA.Gl/ -iname '*.cs')
|
|
gl_TARGET = OpenRA.Gl.dll
|
|
gl_KIND = library
|
|
gl_DEPS = $(fileformats_TARGET) $(game_TARGET)
|
|
gl_LIBS = $(COMMON_LIBS) System.Windows.Forms.dll \
|
|
thirdparty/Tao/Tao.Cg.dll thirdparty/Tao/Tao.OpenGl.dll thirdparty/Tao/Tao.Sdl.dll \
|
|
$(gl_DEPS) $(game_TARGET)
|
|
|
|
game_SRCS = $(shell find OpenRA.Game/ -iname '*.cs')
|
|
game_TARGET = OpenRA.Game.exe
|
|
game_KIND = winexe
|
|
game_DEPS = $(fileformats_TARGET)
|
|
game_LIBS = $(COMMON_LIBS) System.Windows.Forms.dll $(game_DEPS) \
|
|
thirdparty/Tao/Tao.OpenAl.dll thirdparty/Tao/Tao.FreeType.dll
|
|
game_FLAGS = -win32icon:OpenRA.Game/OpenRA.ico
|
|
|
|
ra_SRCS = $(shell find OpenRA.Mods.RA/ -iname '*.cs')
|
|
ra_TARGET = mods/ra/OpenRA.Mods.RA.dll
|
|
ra_KIND = library
|
|
ra_DEPS = $(fileformats_TARGET) $(game_TARGET)
|
|
ra_LIBS = $(COMMON_LIBS) $(ra_DEPS)
|
|
|
|
cnc_SRCS = $(shell find OpenRA.Mods.Cnc/ -iname '*.cs')
|
|
cnc_TARGET = mods/cnc/OpenRA.Mods.Cnc.dll
|
|
cnc_KIND = library
|
|
cnc_DEPS = $(fileformats_TARGET) $(game_TARGET) $(ra_TARGET)
|
|
cnc_LIBS = $(COMMON_LIBS) $(cnc_DEPS)
|
|
|
|
aftermath_SRCS = $(shell find OpenRA.Mods.Aftermath/ -iname '*.cs')
|
|
aftermath_TARGET = mods/aftermath/OpenRA.Mods.Aftermath.dll
|
|
aftermath_KIND = library
|
|
aftermath_DEPS = $(fileformats_TARGET) $(game_TARGET) $(ra_TARGET)
|
|
aftermath_LIBS = $(COMMON_LIBS) $(aftermath_DEPS)
|
|
|
|
ra_ng_SRCS = $(shell find OpenRA.Mods.RA-NG/ -iname '*.cs')
|
|
ra_ng_TARGET = mods/ra-ng/OpenRA.Mods.RA_NG.dll
|
|
ra_ng_KIND = library
|
|
ra_ng_DEPS = $(ra_TARGET) $(fileformats_TARGET) $(game_TARGET) $(ra_TARGET)
|
|
ra_ng_LIBS = $(COMMON_LIBS) $(ra_ng_DEPS)
|
|
|
|
seqed_SRCS = $(shell find SequenceEditor/ -iname '*.cs')
|
|
seqed_TARGET = SequenceEditor.exe
|
|
seqed_KIND = winexe
|
|
seqed_DEPS = $(fileformats_TARGET)
|
|
seqed_LIBS = $(COMMON_LIBS) System.Windows.Forms.dll $(seqed_DEPS)
|
|
|
|
mapcvtr_SRCS = $(shell find MapConverter/ -iname '*.cs')
|
|
mapcvtr_TARGET = MapConverter.exe
|
|
mapcvtr_KIND = winexe
|
|
mapcvtr_DEPS = $(fileformats_TARGET)
|
|
mapcvtr_LIBS = $(COMMON_LIBS) $(mapcvtr_DEPS)
|
|
|
|
# -platform:x86
|
|
|
|
|
|
define BUILD_ASSEMBLY
|
|
|
|
$$($(1)_TARGET): $$($(1)_SRCS) Makefile $$($(1)_DEPS)
|
|
@echo CSC $$(@)
|
|
@$(CSC) $$($(1)_LIBS:%=-r:%) \
|
|
-out:$$(@) $(CSFLAGS) $$($(1)_FLAGS) \
|
|
-define:"$(DEFINE)" \
|
|
-t:"$$($(1)_KIND)" \
|
|
$$($(1)_SRCS)
|
|
endef
|
|
|
|
|
|
$(foreach prog,$(PROGRAMS),$(eval $(call BUILD_ASSEMBLY,$(prog))))
|
|
|
|
|
|
.SUFFIXES:
|
|
.PHONY: clean all default mods seqed mapcvtr
|
|
|
|
|
|
clean:
|
|
@-rm *.exe *.dll *.mdb mods/**/*.dll mods/**/*.mdb
|
|
|
|
mods: $(ra_TARGET) $(cnc_TARGET) $(aftermath_TARGET) $(ra_ng_TARGET)
|
|
seqed: $(seqed_TARGET)
|
|
mapcvtr: $(mapcvtr_TARGET)
|
|
all: $(fileformats_TARGET) $(gl_TARGET) $(game_TARGET) $(ra_TARGET) $(cnc_TARGET) $(aftermath_TARGET) $(ra_ng_TARGET) $(seqed_TARGET) $(mapcvtr_TARGET)
|
|
|
|
.DEFAULT: all
|