You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.7 KiB
47 lines
1.7 KiB
VC_DIR ?= $(HOME)/DevStudio/VC |
|
VC_BIN_DIR = $(VC_DIR)/bin |
|
VC_INC_DIR = $(VC_DIR)/include |
|
VC_LIB_DIR = $(VC_DIR)/lib |
|
IDE_DIR ?= $(HOME)/DevStudio/SharedIDE |
|
IDE_BIN_DIR = $(IDE_DIR)/bin |
|
ifeq ($(OS),Windows_NT) |
|
CL = $(VC_BIN_DIR)/CL.EXE |
|
RC = $(IDE_BIN_DIR)/RC.EXE |
|
else |
|
CL = wine $(VC_BIN_DIR)/CL.EXE |
|
RC = wine $(IDE_BIN_DIR)/RC.EXE |
|
endif |
|
|
|
all: devilution.exe |
|
|
|
DIABLO_SRC=$(sort $(wildcard Source/*.cpp)) |
|
OBJS=$(DIABLO_SRC:.cpp=.obj) |
|
|
|
PKWARE_SRC=$(sort $(wildcard 3rdParty/PKWare/*.cpp)) |
|
PKWARE_OBJS=$(PKWARE_SRC:.cpp=.obj) |
|
|
|
STORM_SRC=$(sort $(wildcard 3rdParty/Storm/Source/*.cpp)) |
|
STORM_OBJS=$(STORM_SRC:.cpp=.obj) |
|
|
|
DIABLOUI_SRC=$(sort $(wildcard DiabloUI/*.cpp)) |
|
DIABLOUI_OBJS=$(DIABLOUI_SRC:.cpp=.obj) |
|
|
|
devilution.exe: $(OBJS) $(PKWARE_OBJS) diablo.res DiabloUI/diabloui.lib 3rdParty/Storm/Source/storm.lib |
|
$(CL) /nologo /Fe$@ $(OBJS) $(PKWARE_OBJS) diablo.res /link /LIBPATH:$(VC_LIB_DIR) advapi32.lib gdi32.lib shell32.lib user32.lib version.lib DiabloUI/diabloui.lib 3rdParty/Storm/Source/storm.lib |
|
|
|
DiabloUI/diabloui.lib: $(DIABLOUI_OBJS) |
|
$(CL) $^ /link /nologo /dll /subsystem:windows /machine:I386 /LIBPATH:$(VC_LIB_DIR) /def:"DiabloUI/diabloui.def" /out:DiabloUI/diabloui.dll |
|
|
|
3rdParty/Storm/Source/storm.lib: $(STORM_OBJS) |
|
$(CL) $^ /link /nologo /dll /subsystem:windows /machine:I386 /LIBPATH:$(VC_LIB_DIR) /def:"3rdParty/Storm/Source/storm.def" /out:3rdParty/Storm/Source/storm.dll |
|
|
|
%.obj: %.cpp |
|
$(CL) /nologo /c /O1 /W3 /MT /I $(VC_INC_DIR) /Fo$@ $< |
|
|
|
diablo.res: Diablo.rc |
|
$(RC) /i $(VC_INC_DIR) /i $(VC_DIR)/mfc/include /l 0x409 /fo $@ $< |
|
|
|
clean: |
|
@$(RM) -v $(OBJS) $(PKWARE_OBJS) $(STORM_OBJS) $(DIABLOUI_OBJS) DiabloUI/diabloui.{exp,lib,dll} 3rdParty/Storm/Source/storm.{exp,lib,dll} |
|
|
|
.PHONY: clean all
|
|
|