VisualNes/makefile
2017-01-06 22:10:08 -05:00

30 lines
984 B
Makefile

CPPC=g++
GCCOPTIONS=-fPIC -Wall --std=c++11 -O3
PLATFORM=x64
GCCOPTIONS += -m64
CCOPTIONS += -m64
OBJFOLDER=obj.$(PLATFORM)
SHAREDLIB=libCoreVisualNes.dll
RELEASEFOLDER=bin
COREOBJ=$(patsubst Core/%.cpp,Core/$(OBJFOLDER)/%.o,$(wildcard Core/*.cpp))
all: $(COREOBJ)
mkdir -p Core/$(OBJFOLDER) && cd Core/$(OBJFOLDER) && $(CPPC) $(GCCOPTIONS) -Wl,-z,defs -Wno-parentheses -Wno-switch -shared -o $(SHAREDLIB) *.o -L . -pthread
mkdir -p bin
cp Core/*.txt $(RELEASEFOLDER)
cp Core/$(OBJFOLDER)/$(SHAREDLIB) $(RELEASEFOLDER)/$(SHAREDLIB)
cd GUI && xbuild /property:Configuration="Release" /property:Platform="$(PLATFORM)" /property:PreBuildEvent="" /property:OutputPath="../bin/"
Core/$(OBJFOLDER)/%.o: Core/%.cpp
mkdir -p Core/$(OBJFOLDER) && cd Core/$(OBJFOLDER) && $(CPPC) $(GCCOPTIONS) -Wno-parentheses -Wno-switch -c $(patsubst Core/%, ../%, $<)
run:
MONO_LOG_LEVEL=debug mono $(RELEASEFOLDER)/VisualNes.exe
clean:
rm Core/$(OBJFOLDER) -r -f
rm $(RELEASEFOLDER) -r -f