mirror of
https://git.code.sf.net/p/quake/quakeforge-old
synced 2024-11-11 15:12:44 +00:00
0e8ba8d814
The input stuff is now somewhat modular, I'll get everything working soon enough, right now things are hardwired to svgalib, but its ok..
206 lines
4.2 KiB
Makefile
206 lines
4.2 KiB
Makefile
########################################################################
|
|
#
|
|
# Quake general stuff
|
|
#
|
|
|
|
PROJECT_DIR := @top_srcdir@
|
|
PROJECT_ODIR := ..
|
|
SRC_DIR := @srcdir@
|
|
COMMON_DIR := $(PROJECT_DIR)/common
|
|
COMMON_ODIR := $(PROJECT_ODIR)/common
|
|
BIN_PREFIX := common
|
|
|
|
DESTDIR :=
|
|
|
|
prefix := @prefix@
|
|
exec_prefix := @exec_prefix@
|
|
bindir := @bindir@
|
|
mandir := @mandir@
|
|
|
|
TARGET_DIR := $(PROJECT_ODIR)/targets
|
|
BUILD_DIR := $(TARGET_DIR)/common
|
|
OBJ_PATTERN := $(BUILD_DIR)/sound_lib/%.o $(BUILD_DIR)/common_lib/%.o \
|
|
$(BUILD_DIR)/input_libs/%.o
|
|
|
|
SOUND_LIB := sound_lib.a
|
|
|
|
LDFLAGS = @LDFLAGS@ -lm
|
|
LIBS = @LIBS@
|
|
CC = @CC@
|
|
INTEL_ARCH = @INTEL_ARCH@
|
|
|
|
ifneq ($(SRC_DIR),.)
|
|
SRC_DIR_INC = -I$(SRC_DIR)
|
|
endif
|
|
|
|
HAS_MGL = @HAS_MGL@
|
|
HAS_GGI = @HAS_GGI@
|
|
HAS_SVGA = @HAS_SVGA@
|
|
HAS_GLIDE = @HAS_GLIDE@
|
|
HAS_TDFXGL = @HAS_TDFXGL@
|
|
HAS_OGL = @HAS_OGL@
|
|
HAS_XIL = @HAS_XIL@
|
|
HAS_X11 = @HAS_X11@
|
|
HAS_SDL = @HAS_SDL@
|
|
|
|
MAKE_SURE_DIR = if test -d "$(BUILD_DIR)/$$DIR"; \
|
|
then \
|
|
true; \
|
|
else \
|
|
echo "Creating directory $(BUILD_DIR)/$$DIR"; \
|
|
mkdir -p $(BUILD_DIR)/$$DIR; \
|
|
fi
|
|
|
|
|
|
|
|
RELEASE = @RELEASE@
|
|
ifeq ($(RELEASE),yes)
|
|
OPTFLAGS = @RELEASE_CFLAGS@
|
|
else
|
|
OPTFLAGS = -g
|
|
endif
|
|
|
|
ifeq ($(HAS_SVGA),yes)
|
|
IN_SVGALIB_LIB := in_svgalib.so
|
|
endif
|
|
|
|
lib_targets = $(SOUND_LIB) $(CD_LIB) $(COMMON_LIB)
|
|
targets = $(lib_targets)
|
|
CLEAN_TARGETS = $(patsubst %,clean-%, $(targets))
|
|
.PHONY: $(targets) $(CLEAN_TARGETS)
|
|
|
|
all: $(targets)
|
|
########################################################################
|
|
#
|
|
# Source files
|
|
#
|
|
|
|
ifeq ($(INTEL_ARCH),yes)
|
|
|
|
# Source file the Intel archictecture only
|
|
|
|
SOUND_SRC += snd_mixa.s
|
|
else
|
|
|
|
# Source files for non-Intel platforms
|
|
endif
|
|
|
|
# System specific source files
|
|
|
|
CD_AUDIO_SRC = cd_wrapper.c
|
|
|
|
# Sound source
|
|
|
|
SOUND_STYLE = @SOUND_STYLE@
|
|
|
|
ifeq ($(SOUND_STYLE),ALSA)
|
|
SOUND_SRC += snd_dma.c snd_alsa.c
|
|
endif
|
|
ifeq ($(SOUND_STYLE),OSS)
|
|
SOUND_SRC += snd_dma.c snd_oss.c
|
|
endif
|
|
ifeq ($(SOUND_STYLE),Solaris)
|
|
SOUND_SRC += snd_dma.c snd_sun.c
|
|
endif
|
|
ifeq ($(SOUND_STYLE),MME)
|
|
SOUND_SRC += snd_dma.c snd_mme.c
|
|
endif
|
|
ifeq ($(SOUND_STYLE),Windows)
|
|
SOUND_SRC += snd_dma.c snd_win.c
|
|
endif
|
|
ifeq ($(SOUND_STYLE),NULL)
|
|
SOUND_SRC += snd_null.c
|
|
endif
|
|
|
|
SOUND_SRC += snd_mem.c snd_mix.c
|
|
|
|
# Networking source files
|
|
#
|
|
# Uncomment the second line to add IPv6 support
|
|
|
|
QW_NET_SRC = net_udp.c net_com.c mdfour.c
|
|
#QW_NET_SRC = net_udp6.c net_com.c mdfour.c
|
|
|
|
|
|
########################################################################
|
|
#
|
|
# Directory specific stuff
|
|
#
|
|
DEFS = @DEFS@
|
|
CFLAGS = @CFLAGS@ $(OPTFLAGS) $(DEFS) -I. \
|
|
$(SRC_DIR_INC) -I$(COMMON_ODIR) -I$(COMMON_DIR)
|
|
|
|
|
|
###########################################################################
|
|
#
|
|
# Compilation rules
|
|
#
|
|
|
|
$(OBJ_PATTERN): $(SRC_DIR)/%.c
|
|
$(CC) $(CFLAGS) -o $@ -c $<
|
|
|
|
$(OBJ_PATTERN): $(SRC_DIR)/%.s
|
|
$(CC) $(CFLAGS) -x assembler-with-cpp -o $@ -c $<
|
|
|
|
###########################################################################
|
|
#
|
|
# Specific target rules
|
|
#
|
|
|
|
# Sound lib targets..
|
|
|
|
SOUND_LIB_OBJS = $(patsubst %,$(BUILD_DIR)/sound_lib/%,$(addsuffix \
|
|
.@OBJEXT@, $(basename $(SOUND_SRC) .c .s)))
|
|
|
|
sound_lib_DIR:
|
|
@DIR=sound_lib; $(MAKE_SURE_DIR)
|
|
|
|
$(SOUND_LIB): sound_lib_DIR $(TARGET_DIR)/sound_lib.a
|
|
|
|
$(TARGET_DIR)/sound_lib.a: $(SOUND_LIB_OBJS)
|
|
#gcc -Wall -shared -o $@ $(SOUND_LIB_OBJS)
|
|
ar cru $@ $(SOUND_LIB_OBJS)
|
|
@RANLIB@ $@
|
|
|
|
# Input lib targets..
|
|
|
|
ifneq ($(IN_SVGALIB_LIB),)
|
|
|
|
IN_SVGALIB_OBJS = $(BUILD_DIR)/input_libs/in_svgalib.@OBJEXT@
|
|
|
|
in_svgalib_DIR:
|
|
@DIR=input_libs; $(MAKE_SURE_DIR)
|
|
|
|
$(IN_SVGALIB_LIB): in_svgalib_DIR $(TARGET_DIR)/$(IN_SVGALIB_LIB)
|
|
|
|
$(TARGET_DIR)/$(IN_SVGALIB_LIB): $(IN_SVGALIB_OBJS)
|
|
$(CC) $(CFLAGS) $(LDFLAGS) -lvga -shared -rdynamic -o $@ $(IN_SVGALIB_OBJS)
|
|
|
|
endif
|
|
|
|
###########################################################################
|
|
#
|
|
# Misc targets
|
|
#
|
|
|
|
distclean: clean
|
|
rm -f Makefile
|
|
|
|
$(CLEAN_TARGETS):
|
|
rm -f $(BUILD_DIR)/../$(subst clean-,,$@)
|
|
|
|
clean-sound_lib:
|
|
rm -rf $(BUILD_DIR)/$(subst clean-,,$@)
|
|
|
|
clean: clean-sound_lib $(CLEAN_TARGETS)
|
|
-rmdir $(BUILD_DIR)
|
|
|
|
install: $(targets)
|
|
$(PROJECT_DIR)/mkinstalldirs $(DESTDIR)/$(bindir)
|
|
for i in $(targets); do \
|
|
$(PROJECT_DIR)/install-sh -m 755 $(BUILD_DIR)/../$$i \
|
|
$(DESTDIR)/$(bindir)/$$i; \
|
|
done
|
|
|
|
check:
|
|
@echo check not implemented
|