-src = $(wildcard src/*.c) $(wildcard src/scr/*.c) $(wildcard src/dos/*.c)
+src = $(wildcard src/*.c) $(wildcard src/3dgfx/*.c) $(wildcard src/scr/*.c) \
+ $(wildcard src/dos/*.c)
asmsrc = $(wildcard src/*.asm) $(wildcard src/scr/*.asm) $(wildcard src/dos/*.asm)
obj = $(src:.c=.odj) $(asmsrc:.asm=.odj)
-dep = $(obj:.odj=.dep)
+dep = $(src:.c=.d)
bin = demo.exe
asmsrc += cspr/dbgfont.asm cspr/confont.asm
TOOLPREFIX = i586-pc-msdosdjgpp-
endif
-inc = -Isrc -Isrc/scr -Isrc/dos -Ilibs -Ilibs/imago/src -Ilibs/anim/src
+inc = -Isrc -Isrc/3dgfx -Isrc/scr -Isrc/dos -Ilibs \
+ -Ilibs/imago/src -Ilibs/anim/src -Ilibs/midas
opt = -O3 -ffast-math -fno-strict-aliasing
warn = -pedantic -Wall -Wno-unused-function -Wno-unused-variable
CC = $(TOOLPREFIX)gcc
AR = $(TOOLPREFIX)ar
-CFLAGS = $(warn) -march=pentium $(dbg) $(opt) $(prof) $(inc) $(def)
-LDFLAGS = libs/imago/imago.dja libs/anim/anim.dja
+CFLAGS = -march=pentium $(warn) -MMD $(dbg) $(opt) $(prof) $(inc) $(def)
+LDFLAGS = libs/imago/imago.dja libs/anim/anim.dja libs/midas/libmidas.a
ifneq ($(hostsys), dos)
.PHONY: all
src/data.odj: src/data.asm $(bindata)
-ifneq ($(hostsys), dos)
-include $(dep)
-endif
%.odj: %.c
$(CC) $(CFLAGS) -o $@ -c $<
-%.dep: %.c
- @echo dep $@
- @$(CPP) $(CFLAGS) $< -MM -MT $(@:.dep=.odj) >$@
-
.PHONY: imago
imago:
- $(MAKE) -C libs/imago -f Makefile
+ $(MAKE) -C libs/imago -f Makefile.dj
.PHONY: anim
anim:
- $(MAKE) -C libs/anim -f Makefile
+ $(MAKE) -C libs/anim -f Makefile.dj
.PHONY: cleanlibs
cleanlibs:
- $(MAKE) -C libs/imago -f Makefile clean
- $(MAKE) -C libs/anim -f Makefile clean
+ $(MAKE) -C libs/imago clean -f Makefile.dj
+ $(MAKE) -C libs/anim clean -f Makefile.dj
.PHONY: clean
.PHONY: cleandep
ifeq ($(hostsys), dos)
clean:
del src\*.odj
+ del src\3dgfx\*.odj
del src\dos\*.odj
del $(bin)
cleandep:
- del src\*.dep
- del src\dos\*.dep
+ del src\*.d
+ del src\3dgfx\*.d
+ del src\dos\*.d
else
clean:
rm -f $(obj) $(bin)
int32_t x, xstart, xend, dx;
uint16_t *dptr, *sptr;
- xstart = cround64(cam_theta * (256.0 * 512.0 / 90.0)); /* 24.8 fixed point, 512 width */
+ /* 24.8 fixed point, 512 width, 90deg arc */
+ xstart = cround64(cam_theta * (256.0 * 512.0 / 90.0));
xend = cround64((cam_theta + HFOV) * (256.0 * 512.0 / 90.0));
dx = (xend - xstart) / FB_WIDTH;
x = xstart;