mirror of
https://github.com/Shpoike/Quakespasm.git
synced 2024-11-13 00:34:11 +00:00
Makefiles: added basic dependency tracking, and tidied-up a bit.
This commit is contained in:
parent
c1c9f3b7fe
commit
09216eb65f
4 changed files with 86 additions and 114 deletions
|
@ -52,7 +52,7 @@ PKG_CONFIG ?= pkg-config
|
||||||
CPUFLAGS=
|
CPUFLAGS=
|
||||||
LDFLAGS =
|
LDFLAGS =
|
||||||
DFLAGS ?=
|
DFLAGS ?=
|
||||||
CFLAGS ?= -Wall -Wno-trigraphs
|
CFLAGS ?= -Wall -Wno-trigraphs -MMD
|
||||||
CFLAGS += $(call check_gcc,-std=gnu11,)
|
CFLAGS += $(call check_gcc,-std=gnu11,)
|
||||||
CFLAGS += $(CPUFLAGS)
|
CFLAGS += $(CPUFLAGS)
|
||||||
ifneq ($(DEBUG),0)
|
ifneq ($(DEBUG),0)
|
||||||
|
@ -62,7 +62,7 @@ do_strip=
|
||||||
else
|
else
|
||||||
DFLAGS += -DNDEBUG
|
DFLAGS += -DNDEBUG
|
||||||
CFLAGS += -O2
|
CFLAGS += -O2
|
||||||
# -fno-asynchronous-unwind-tables
|
#CFLAGS += -fno-asynchronous-unwind-tables
|
||||||
CFLAGS += $(call check_gcc,-fweb,)
|
CFLAGS += $(call check_gcc,-fweb,)
|
||||||
CFLAGS += $(call check_gcc,-frename-registers,)
|
CFLAGS += $(call check_gcc,-frename-registers,)
|
||||||
cmd_strip=$(STRIP) $(1)
|
cmd_strip=$(STRIP) $(1)
|
||||||
|
@ -185,23 +185,8 @@ COMMON_LIBS:= -lm -lGL
|
||||||
LIBS := $(COMMON_LIBS) $(NET_LIBS) $(CODECLIBS)
|
LIBS := $(COMMON_LIBS) $(NET_LIBS) $(CODECLIBS)
|
||||||
|
|
||||||
# ---------------------------
|
# ---------------------------
|
||||||
# targets
|
|
||||||
# ---------------------------
|
|
||||||
|
|
||||||
.PHONY: clean debug release
|
|
||||||
|
|
||||||
DEFAULT_TARGET := quakespasm
|
|
||||||
|
|
||||||
# ---------------------------
|
|
||||||
# rules
|
|
||||||
# ---------------------------
|
|
||||||
|
|
||||||
%.o: %.c
|
|
||||||
$(CC) $(DFLAGS) -c $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
|
||||||
# objects
|
# objects
|
||||||
# ----------------------------------------------------------------------------
|
# ---------------------------
|
||||||
|
|
||||||
MUSIC_OBJS:= bgmusic.o \
|
MUSIC_OBJS:= bgmusic.o \
|
||||||
snd_codec.o \
|
snd_codec.o \
|
||||||
|
@ -223,7 +208,6 @@ SYSOBJ_GL_VID:= gl_vidsdl.o
|
||||||
SYSOBJ_NET := net_bsd.o net_udp.o
|
SYSOBJ_NET := net_bsd.o net_udp.o
|
||||||
SYSOBJ_SYS := pl_linux.o sys_sdl_unix.o
|
SYSOBJ_SYS := pl_linux.o sys_sdl_unix.o
|
||||||
SYSOBJ_MAIN:= main_sdl.o
|
SYSOBJ_MAIN:= main_sdl.o
|
||||||
SYSOBJ_RES :=
|
|
||||||
|
|
||||||
GLOBJS = \
|
GLOBJS = \
|
||||||
gl_refrag.o \
|
gl_refrag.o \
|
||||||
|
@ -287,24 +271,32 @@ OBJS := strlcat.o \
|
||||||
sv_user.o \
|
sv_user.o \
|
||||||
world.o \
|
world.o \
|
||||||
zone.o \
|
zone.o \
|
||||||
$(SYSOBJ_SYS) $(SYSOBJ_MAIN) $(SYSOBJ_RES)
|
$(SYSOBJ_SYS) $(SYSOBJ_MAIN)
|
||||||
|
|
||||||
# ------------------------
|
# ---------------------------
|
||||||
# Linux build rules
|
# targets / rules
|
||||||
# ------------------------
|
# ---------------------------
|
||||||
|
|
||||||
|
.PHONY: clean debug release
|
||||||
|
|
||||||
|
DEFAULT_TARGET := quakespasm
|
||||||
|
all: $(DEFAULT_TARGET)
|
||||||
|
|
||||||
|
%.o: %.c
|
||||||
|
$(CC) $(DFLAGS) -c $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
||||||
|
|
||||||
quakespasm: $(OBJS)
|
quakespasm: $(OBJS)
|
||||||
$(LINKER) $(OBJS) $(LDFLAGS) $(LIBS) $(SDL_LIBS) -o $@
|
$(LINKER) $(OBJS) $(LDFLAGS) $(LIBS) $(SDL_LIBS) -o $@
|
||||||
$(call do_strip,$@)
|
$(call do_strip,$@)
|
||||||
|
|
||||||
image.o: lodepng.c lodepng.h stb_image_write.h
|
|
||||||
|
|
||||||
release: quakespasm
|
release: quakespasm
|
||||||
debug:
|
debug:
|
||||||
$(error Use "make DEBUG=1")
|
$(error Use "make DEBUG=1")
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(shell find . \( -name '*~' -o -name '#*#' -o -name '*.o' -o -name '*.res' -o -name $(DEFAULT_TARGET) \) -print)
|
$(RM) *.o *.d $(DEFAULT_TARGET)
|
||||||
|
|
||||||
install: quakespasm
|
install: quakespasm
|
||||||
cp quakespasm /usr/local/games/quake
|
cp quakespasm /usr/local/games/quake
|
||||||
|
|
||||||
|
sinclude $(OBJS:.o=.d)
|
||||||
|
|
|
@ -49,12 +49,12 @@ CC ?= gcc
|
||||||
LINKER = $(CC)
|
LINKER = $(CC)
|
||||||
LIPO ?= lipo
|
LIPO ?= lipo
|
||||||
|
|
||||||
STRIP ?= strip
|
STRIP ?= strip -S
|
||||||
|
|
||||||
CPUFLAGS=
|
CPUFLAGS=
|
||||||
LDFLAGS =
|
LDFLAGS =
|
||||||
DFLAGS ?=
|
DFLAGS ?=
|
||||||
CFLAGS ?= -Wall
|
CFLAGS ?= -Wall -MMD
|
||||||
# @rpath can be used when targeting 10.5+
|
# @rpath can be used when targeting 10.5+
|
||||||
USE_RPATH=0
|
USE_RPATH=0
|
||||||
# require 10.5 for 64 bit builds
|
# require 10.5 for 64 bit builds
|
||||||
|
@ -96,7 +96,7 @@ do_strip=
|
||||||
else
|
else
|
||||||
DFLAGS += -DNDEBUG
|
DFLAGS += -DNDEBUG
|
||||||
CFLAGS += -O2
|
CFLAGS += -O2
|
||||||
# -fno-asynchronous-unwind-tables
|
#CFLAGS += -fno-asynchronous-unwind-tables
|
||||||
CFLAGS += $(call check_gcc,-fweb,)
|
CFLAGS += $(call check_gcc,-fweb,)
|
||||||
CFLAGS += $(call check_gcc,-frename-registers,)
|
CFLAGS += $(call check_gcc,-frename-registers,)
|
||||||
cmd_strip=$(STRIP) $(1)
|
cmd_strip=$(STRIP) $(1)
|
||||||
|
@ -216,27 +216,8 @@ COMMON_LIBS:= -Wl,-framework,IOKit -Wl,-framework,OpenGL
|
||||||
LIBS := $(COMMON_LIBS) $(NET_LIBS) $(CODEC_LINK) $(CODECLIBS)
|
LIBS := $(COMMON_LIBS) $(NET_LIBS) $(CODEC_LINK) $(CODECLIBS)
|
||||||
|
|
||||||
# ---------------------------
|
# ---------------------------
|
||||||
# targets
|
|
||||||
# ---------------------------
|
|
||||||
|
|
||||||
.PHONY: clean debug release
|
|
||||||
|
|
||||||
DEFAULT_TARGET := quakespasm
|
|
||||||
|
|
||||||
# ---------------------------
|
|
||||||
# rules
|
|
||||||
# ---------------------------
|
|
||||||
|
|
||||||
%.o: %.c
|
|
||||||
$(CC) $(DFLAGS) -c $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
|
||||||
%.o: %.m
|
|
||||||
$(CC) $(DFLAGS) -c $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
|
||||||
%.o: ../MacOSX/%.m
|
|
||||||
$(CC) $(DFLAGS) -c -I../MacOSX $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
|
||||||
# objects
|
# objects
|
||||||
# ----------------------------------------------------------------------------
|
# ---------------------------
|
||||||
|
|
||||||
MUSIC_OBJS:= bgmusic.o \
|
MUSIC_OBJS:= bgmusic.o \
|
||||||
snd_codec.o \
|
snd_codec.o \
|
||||||
|
@ -322,21 +303,34 @@ OBJS := strlcat.o \
|
||||||
sv_user.o \
|
sv_user.o \
|
||||||
world.o \
|
world.o \
|
||||||
zone.o \
|
zone.o \
|
||||||
$(SYSOBJ_SYS) $(SYSOBJ_LAUNCHER) $(SYSOBJ_MAIN)
|
$(SYSOBJ_SYS) \
|
||||||
|
$(SYSOBJ_LAUNCHER) $(SYSOBJ_MAIN)
|
||||||
|
|
||||||
# ------------------------
|
# ---------------------------
|
||||||
# darwin build rules
|
# targets / rules
|
||||||
# ------------------------
|
# ---------------------------
|
||||||
|
|
||||||
|
.PHONY: clean debug release
|
||||||
|
|
||||||
|
DEFAULT_TARGET := quakespasm
|
||||||
|
all: $(DEFAULT_TARGET)
|
||||||
|
|
||||||
|
%.o: %.c
|
||||||
|
$(CC) $(DFLAGS) -c $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
||||||
|
%.o: %.m
|
||||||
|
$(CC) $(DFLAGS) -c $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
||||||
|
%.o: ../MacOSX/%.m
|
||||||
|
$(CC) $(DFLAGS) -c -I../MacOSX $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
||||||
|
|
||||||
quakespasm: $(OBJS)
|
quakespasm: $(OBJS)
|
||||||
$(LINKER) $(OBJS) $(LDFLAGS) $(LIBS) $(SDL_LIBS) -o $@
|
$(LINKER) $(OBJS) $(LDFLAGS) $(LIBS) $(SDL_LIBS) -o $@
|
||||||
$(call do_strip,$@)
|
$(call do_strip,$@)
|
||||||
|
|
||||||
image.o: lodepng.c lodepng.h stb_image_write.h
|
|
||||||
|
|
||||||
release: quakespasm
|
release: quakespasm
|
||||||
debug:
|
debug:
|
||||||
$(error Use "make DEBUG=1")
|
$(error Use "make DEBUG=1")
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(shell find . \( -name '*~' -o -name '#*#' -o -name '*.o' -o -name '*.res' -o -name $(DEFAULT_TARGET) \) -print)
|
$(RM) *.o *.d $(DEFAULT_TARGET)
|
||||||
|
|
||||||
|
sinclude $(OBJS:.o=.d)
|
||||||
|
|
|
@ -49,7 +49,7 @@ STRIP = strip
|
||||||
CPUFLAGS=
|
CPUFLAGS=
|
||||||
LDFLAGS = -m32 -mwindows -static-libgcc
|
LDFLAGS = -m32 -mwindows -static-libgcc
|
||||||
DFLAGS ?=
|
DFLAGS ?=
|
||||||
CFLAGS ?= -m32 -Wall -Wno-trigraphs
|
CFLAGS ?= -m32 -Wall -Wno-trigraphs -MMD
|
||||||
CFLAGS += $(call check_gcc,-std=gnu11,)
|
CFLAGS += $(call check_gcc,-std=gnu11,)
|
||||||
CFLAGS += $(CPUFLAGS)
|
CFLAGS += $(CPUFLAGS)
|
||||||
ifneq ($(DEBUG),0)
|
ifneq ($(DEBUG),0)
|
||||||
|
@ -59,7 +59,7 @@ do_strip=
|
||||||
else
|
else
|
||||||
DFLAGS += -DNDEBUG
|
DFLAGS += -DNDEBUG
|
||||||
CFLAGS += -O2
|
CFLAGS += -O2
|
||||||
# -fno-asynchronous-unwind-tables
|
#CFLAGS += -fno-asynchronous-unwind-tables
|
||||||
CFLAGS += $(call check_gcc,-fweb,)
|
CFLAGS += $(call check_gcc,-fweb,)
|
||||||
CFLAGS += $(call check_gcc,-frename-registers,)
|
CFLAGS += $(call check_gcc,-frename-registers,)
|
||||||
cmd_strip=$(STRIP) $(1)
|
cmd_strip=$(STRIP) $(1)
|
||||||
|
@ -175,25 +175,8 @@ COMMON_LIBS:= -lopengl32 -lwinmm
|
||||||
LIBS := $(COMMON_LIBS) $(NET_LIBS) $(CODEC_LINK) $(CODECLIBS)
|
LIBS := $(COMMON_LIBS) $(NET_LIBS) $(CODEC_LINK) $(CODECLIBS)
|
||||||
|
|
||||||
# ---------------------------
|
# ---------------------------
|
||||||
# targets
|
|
||||||
# ---------------------------
|
|
||||||
|
|
||||||
.PHONY: clean debug release
|
|
||||||
|
|
||||||
DEFAULT_TARGET := quakespasm.exe
|
|
||||||
|
|
||||||
# ---------------------------
|
|
||||||
# rules
|
|
||||||
# ---------------------------
|
|
||||||
|
|
||||||
%.o: %.c
|
|
||||||
$(CC) $(DFLAGS) -c $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
|
||||||
%.res: ../Windows/%.rc
|
|
||||||
$(WINDRES) -I../Windows --output-format=coff --target=pe-i386 -o $@ $<
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
|
||||||
# objects
|
# objects
|
||||||
# ----------------------------------------------------------------------------
|
# ---------------------------
|
||||||
|
|
||||||
MUSIC_OBJS:= bgmusic.o \
|
MUSIC_OBJS:= bgmusic.o \
|
||||||
snd_codec.o \
|
snd_codec.o \
|
||||||
|
@ -279,21 +262,31 @@ OBJS := strlcat.o \
|
||||||
sv_user.o \
|
sv_user.o \
|
||||||
world.o \
|
world.o \
|
||||||
zone.o \
|
zone.o \
|
||||||
$(SYSOBJ_SYS) $(SYSOBJ_MAIN) $(SYSOBJ_RES)
|
$(SYSOBJ_SYS) $(SYSOBJ_MAIN)
|
||||||
|
|
||||||
# ------------------------
|
# ---------------------------
|
||||||
# MinGW build rules
|
# targets / rules
|
||||||
# ------------------------
|
# ---------------------------
|
||||||
|
|
||||||
quakespasm.exe: $(OBJS)
|
.PHONY: clean debug release
|
||||||
$(LINKER) $(OBJS) $(LDFLAGS) $(LIBS) $(SDL_LIBS) -o $@
|
|
||||||
|
DEFAULT_TARGET := quakespasm.exe
|
||||||
|
all: $(DEFAULT_TARGET)
|
||||||
|
|
||||||
|
%.o: %.c
|
||||||
|
$(CC) $(DFLAGS) -c $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
||||||
|
%.res: ../Windows/%.rc
|
||||||
|
$(WINDRES) -I../Windows --output-format=coff --target=pe-i386 -o $@ $<
|
||||||
|
|
||||||
|
quakespasm.exe: $(OBJS) $(SYSOBJ_RES)
|
||||||
|
$(LINKER) $(OBJS) $(SYSOBJ_RES) $(LDFLAGS) $(LIBS) $(SDL_LIBS) -o $@
|
||||||
$(call do_strip,$@)
|
$(call do_strip,$@)
|
||||||
|
|
||||||
image.o: lodepng.c lodepng.h stb_image_write.h
|
|
||||||
|
|
||||||
release: quakespasm.exe
|
release: quakespasm.exe
|
||||||
debug:
|
debug:
|
||||||
$(error Use "make DEBUG=1")
|
$(error Use "make DEBUG=1")
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(shell find . \( -name '*~' -o -name '#*#' -o -name '*.o' -o -name '*.res' -o -name $(DEFAULT_TARGET) \) -print)
|
$(RM) *.o *.d *.res $(DEFAULT_TARGET)
|
||||||
|
|
||||||
|
sinclude $(OBJS:.o=.d)
|
||||||
|
|
|
@ -47,7 +47,7 @@ STRIP = strip
|
||||||
CPUFLAGS=
|
CPUFLAGS=
|
||||||
LDFLAGS = -m64 -mwindows -static-libgcc
|
LDFLAGS = -m64 -mwindows -static-libgcc
|
||||||
DFLAGS ?=
|
DFLAGS ?=
|
||||||
CFLAGS ?= -m64 -Wall -Wno-trigraphs
|
CFLAGS ?= -m64 -Wall -Wno-trigraphs -MMD
|
||||||
CFLAGS += $(call check_gcc,-std=gnu11,)
|
CFLAGS += $(call check_gcc,-std=gnu11,)
|
||||||
CFLAGS += $(CPUFLAGS)
|
CFLAGS += $(CPUFLAGS)
|
||||||
ifneq ($(DEBUG),0)
|
ifneq ($(DEBUG),0)
|
||||||
|
@ -57,7 +57,7 @@ do_strip=
|
||||||
else
|
else
|
||||||
DFLAGS += -DNDEBUG
|
DFLAGS += -DNDEBUG
|
||||||
CFLAGS += -O2
|
CFLAGS += -O2
|
||||||
# -fno-asynchronous-unwind-tables
|
#CFLAGS += -fno-asynchronous-unwind-tables
|
||||||
CFLAGS += $(call check_gcc,-fweb,)
|
CFLAGS += $(call check_gcc,-fweb,)
|
||||||
CFLAGS += $(call check_gcc,-frename-registers,)
|
CFLAGS += $(call check_gcc,-frename-registers,)
|
||||||
cmd_strip=$(STRIP) $(1)
|
cmd_strip=$(STRIP) $(1)
|
||||||
|
@ -168,25 +168,8 @@ COMMON_LIBS:= -lopengl32 -lwinmm
|
||||||
LIBS := $(COMMON_LIBS) $(NET_LIBS) $(CODEC_LINK) $(CODECLIBS)
|
LIBS := $(COMMON_LIBS) $(NET_LIBS) $(CODEC_LINK) $(CODECLIBS)
|
||||||
|
|
||||||
# ---------------------------
|
# ---------------------------
|
||||||
# targets
|
|
||||||
# ---------------------------
|
|
||||||
|
|
||||||
.PHONY: clean debug release
|
|
||||||
|
|
||||||
DEFAULT_TARGET := quakespasm.exe
|
|
||||||
|
|
||||||
# ---------------------------
|
|
||||||
# rules
|
|
||||||
# ---------------------------
|
|
||||||
|
|
||||||
%.o: %.c
|
|
||||||
$(CC) $(DFLAGS) -c $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
|
||||||
%.res: ../Windows/%.rc
|
|
||||||
$(WINDRES) -I../Windows --output-format=coff --target=pe-x86-64 -o $@ $<
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
|
||||||
# objects
|
# objects
|
||||||
# ----------------------------------------------------------------------------
|
# ---------------------------
|
||||||
|
|
||||||
MUSIC_OBJS:= bgmusic.o \
|
MUSIC_OBJS:= bgmusic.o \
|
||||||
snd_codec.o \
|
snd_codec.o \
|
||||||
|
@ -272,21 +255,31 @@ OBJS := strlcat.o \
|
||||||
sv_user.o \
|
sv_user.o \
|
||||||
world.o \
|
world.o \
|
||||||
zone.o \
|
zone.o \
|
||||||
$(SYSOBJ_SYS) $(SYSOBJ_MAIN) $(SYSOBJ_RES)
|
$(SYSOBJ_SYS) $(SYSOBJ_MAIN)
|
||||||
|
|
||||||
# ------------------------
|
# ---------------------------
|
||||||
# MinGW-w64 build rules
|
# targets / rules
|
||||||
# ------------------------
|
# ---------------------------
|
||||||
|
|
||||||
quakespasm.exe: $(OBJS)
|
.PHONY: clean debug release
|
||||||
$(LINKER) $(OBJS) $(LDFLAGS) $(LIBS) $(SDL_LIBS) -o $@
|
|
||||||
|
DEFAULT_TARGET := quakespasm.exe
|
||||||
|
all: $(DEFAULT_TARGET)
|
||||||
|
|
||||||
|
%.o: %.c
|
||||||
|
$(CC) $(DFLAGS) -c $(CFLAGS) $(SDL_CFLAGS) -o $@ $<
|
||||||
|
%.res: ../Windows/%.rc
|
||||||
|
$(WINDRES) -I../Windows --output-format=coff --target=pe-x86-64 -o $@ $<
|
||||||
|
|
||||||
|
quakespasm.exe: $(OBJS) $(SYSOBJ_RES)
|
||||||
|
$(LINKER) $(OBJS) $(SYSOBJ_RES) $(LDFLAGS) $(LIBS) $(SDL_LIBS) -o $@
|
||||||
$(call do_strip,$@)
|
$(call do_strip,$@)
|
||||||
|
|
||||||
image.o: lodepng.c lodepng.h stb_image_write.h
|
|
||||||
|
|
||||||
release: quakespasm.exe
|
release: quakespasm.exe
|
||||||
debug:
|
debug:
|
||||||
$(error Use "make DEBUG=1")
|
$(error Use "make DEBUG=1")
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(shell find . \( -name '*~' -o -name '#*#' -o -name '*.o' -o -name '*.res' -o -name $(DEFAULT_TARGET) \) -print)
|
$(RM) *.o *.d *.res $(DEFAULT_TARGET)
|
||||||
|
|
||||||
|
sinclude $(OBJS:.o=.d)
|
||||||
|
|
Loading…
Reference in a new issue