change build system to rscons
This commit is contained in:
parent
612fd112ec
commit
ad6e922e07
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
/build/
|
/build/
|
||||||
/.rscons*
|
/.rscons*
|
||||||
/dwscr
|
/dwscr
|
||||||
|
/LoadFile/LoadFile-gen.inc
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
|
|
||||||
GENLOADFILE := perl genLoadFile.pl
|
|
||||||
LOGO_PATH := ../logo
|
|
||||||
LOADFILES += dwlogo.obj
|
|
||||||
LOADFILES += dwlogo.mtl
|
|
||||||
ABSLOADFILES := $(foreach lf,$(LOADFILES),$(LOGO_PATH)/$(lf))
|
|
||||||
|
|
||||||
all: LoadFile.o
|
|
||||||
|
|
||||||
LoadFile.o: LoadFile.cc LoadFile-gen.inc
|
|
||||||
$(CXX) -c -o $@ $< $(CPPFLAGS) $(CXXFLAGS)
|
|
||||||
|
|
||||||
LoadFile-gen.inc: genLoadFile.pl $(ABSLOADFILES)
|
|
||||||
$(GENLOADFILE) --root=$(LOGO_PATH) $(LOADFILES)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
-$(RM) -f *~ *.o LoadFile-gen.inc
|
|
78
Makefile
78
Makefile
@ -1,77 +1,7 @@
|
|||||||
|
.PHONY: all
|
||||||
# Author: Josh Holtrop
|
all:
|
||||||
# DornerWorks screensaver
|
./rscons build
|
||||||
|
|
||||||
# set this to compile in "debug" mode
|
|
||||||
#DEBUG := 1
|
|
||||||
|
|
||||||
WINCHECK := $(shell which msys-1.0.dll >/dev/null 2>&1; if [ $$? -eq 0 ]; then echo MSYS; fi)
|
|
||||||
ifeq ($(strip $(WINCHECK)),)
|
|
||||||
WINDOWS := 0
|
|
||||||
else
|
|
||||||
WINDOWS := 1
|
|
||||||
endif
|
|
||||||
|
|
||||||
export CPPFLAGS += -I"$(shell pwd)"
|
|
||||||
|
|
||||||
OBJS = dwscr.o wfobj/WFObj.o LoadFile/LoadFile.o ss/ss.a
|
|
||||||
TARGET = dwscr
|
|
||||||
export CXXFLAGS := -O2 -Wall
|
|
||||||
export CPPFLAGS
|
|
||||||
|
|
||||||
ifdef DEBUG
|
|
||||||
CPPFLAGS += -DDEBUG
|
|
||||||
CPPFLAGS += -g
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(WINDOWS),1)
|
|
||||||
LDFLAGS += -lopengl32 -lglu32 -lmingw32
|
|
||||||
TARGET := $(TARGET).exe
|
|
||||||
SSNAME := dwscr.scr
|
|
||||||
INSTALLDIR := C:/WINDOWS
|
|
||||||
OBJS += displayinfo-win32.o
|
|
||||||
else
|
|
||||||
LDFLAGS += -lGL -lGLU
|
|
||||||
OBJS += displayinfo.o
|
|
||||||
endif
|
|
||||||
|
|
||||||
LDFLAGS += $(shell sdl-config --libs)
|
|
||||||
export CPPFLAGS += $(shell sdl-config --cflags)
|
|
||||||
|
|
||||||
ifdef WITHOUT_ODE
|
|
||||||
CPPFLAGS += -DWITHOUT_ODE
|
|
||||||
else
|
|
||||||
CPPFLAGS += $(shell ode-config --cflags)
|
|
||||||
LDFLAGS += $(shell ode-config --libs)
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
all: $(TARGET)
|
|
||||||
|
|
||||||
$(TARGET): $(OBJS)
|
|
||||||
$(CXX) -o $@ $(OBJS) $(LDFLAGS)
|
|
||||||
|
|
||||||
.PHONY: wfobj/WFObj.o
|
|
||||||
wfobj/WFObj.o:
|
|
||||||
$(MAKE) -C wfobj
|
|
||||||
|
|
||||||
.PHONY: LoadFile/LoadFile.o
|
|
||||||
LoadFile/LoadFile.o:
|
|
||||||
$(MAKE) -C LoadFile
|
|
||||||
|
|
||||||
.PHONY: ss/ss.a
|
|
||||||
ss/ss.a:
|
|
||||||
$(MAKE) -C ss
|
|
||||||
|
|
||||||
ifeq ($(WINDOWS),1)
|
|
||||||
.PHONY: install
|
|
||||||
install:
|
|
||||||
cp $(TARGET) $(INSTALLDIR)/$(SSNAME)
|
|
||||||
endif
|
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
$(MAKE) -C wfobj clean
|
./rscons clean
|
||||||
$(MAKE) -C LoadFile clean
|
|
||||||
$(MAKE) -C ss clean
|
|
||||||
-$(RM) -f *~ *.o $(TARGET)
|
|
||||||
|
15
Rsconscript
15
Rsconscript
@ -18,7 +18,15 @@ end
|
|||||||
|
|
||||||
build do
|
build do
|
||||||
Environment.new do |env|
|
Environment.new do |env|
|
||||||
system("make -C LoadFile")
|
env.add_builder(:GenLoadFile) do |params|
|
||||||
|
command = ["perl", "genLoadFile.pl", "--root=../logo", "dwlogo.obj", "dwlogo.mtl"]
|
||||||
|
unless @cache.up_to_date?(@target, command, @sources, @env)
|
||||||
|
print_run_message("GenLoadFile #{@target}", nil)
|
||||||
|
system(*command, chdir: "LoadFile")
|
||||||
|
@cache.register_build(@target, command, @sources, @env)
|
||||||
|
end
|
||||||
|
true
|
||||||
|
end
|
||||||
env["CCFLAGS"] = %w[-O2 -Wall]
|
env["CCFLAGS"] = %w[-O2 -Wall]
|
||||||
env["CPPPATH"] += %w[.]
|
env["CPPPATH"] += %w[.]
|
||||||
sources = ["dwscr.cc", "wfobj/WFObj.cc", "LoadFile/LoadFile.cc"] + glob("ss/*.{cc,cpp}")
|
sources = ["dwscr.cc", "wfobj/WFObj.cc", "LoadFile/LoadFile.cc"] + glob("ss/*.{cc,cpp}")
|
||||||
@ -27,6 +35,11 @@ build do
|
|||||||
else
|
else
|
||||||
sources += ["displayinfo.cc"]
|
sources += ["displayinfo.cc"]
|
||||||
end
|
end
|
||||||
|
loadfiles = %w[
|
||||||
|
logo/dwlogo.obj
|
||||||
|
logo/dwlogo.mtl
|
||||||
|
]
|
||||||
|
loadfile_gen = env.GenLoadFile("LoadFile/LoadFile-gen.inc", loadfiles + ["LoadFile/genLoadFile.pl"])
|
||||||
dwscr = env.Program("dwscr", sources)
|
dwscr = env.Program("dwscr", sources)
|
||||||
if RUBY_PLATFORM =~ /mingw/
|
if RUBY_PLATFORM =~ /mingw/
|
||||||
env.Install("C:/Windows/dwscr.scr", dwscr)
|
env.Install("C:/Windows/dwscr.scr", dwscr)
|
||||||
|
2
configure
vendored
Executable file
2
configure
vendored
Executable file
@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
exec "$(dirname "$0")"/rscons "$@"
|
18
ss/Makefile
18
ss/Makefile
@ -1,18 +0,0 @@
|
|||||||
|
|
||||||
OBJS := SSMain.o
|
|
||||||
OBJS += SSMode.o
|
|
||||||
OBJS += LogoBox.o
|
|
||||||
OBJS += PlainSpin.o
|
|
||||||
OBJS += LightBounce.o
|
|
||||||
ifndef WITHOUT_ODE
|
|
||||||
OBJS += TumblingLogos.o
|
|
||||||
OBJS += Towers.o
|
|
||||||
endif
|
|
||||||
AROBJS := $(foreach o,$(OBJS),ss.a($(o)))
|
|
||||||
|
|
||||||
all: ss.a
|
|
||||||
|
|
||||||
ss.a: $(AROBJS)
|
|
||||||
|
|
||||||
clean:
|
|
||||||
-$(RM) -f *~ *.o *.a
|
|
Loading…
x
Reference in New Issue
Block a user