http://linradiant.intron-trans.hu/downloads/mbspc.tar.gz cfgq3.c, gldraw.c, botlib\l_log.c are not used
180 lines
4.4 KiB
Makefile
180 lines
4.4 KiB
Makefile
# Makefile for the MBSPC utility
|
|
# Copyright (C) 2012 Laszlo Menczel
|
|
# Platforms: Linux and Win32/MinGW
|
|
|
|
#--------------------------------------------------------------------
|
|
# Detection of platform and architecture
|
|
#--------------------------------------------------------------------
|
|
|
|
PLATFORM = $(shell uname|sed -e s/_.*//|tr '[:upper:]' '[:lower:]')
|
|
|
|
ifeq ($(PLATFORM),linux)
|
|
ARCH = x86_64
|
|
TMP = $(shell uname -a | grep x86_64)
|
|
ifeq (x$(TMP),x)
|
|
ARCH = x86
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(PLATFORM),mingw32)
|
|
ARCH = x86
|
|
endif
|
|
|
|
#--------------------------------------------------------------------
|
|
# MNT_DIR = path to MBSPC source (e.g. "/home/somebody/src/mbspc")
|
|
#--------------------------------------------------------------------
|
|
|
|
ifeq ($(PLATFORM),linux)
|
|
MNT_DIR = /root/Progdev/mbspc
|
|
BLD_DIR = $(MNT_DIR)/build/linux
|
|
OS_CFLAGS = -D__linux__
|
|
LIBS = -ldl -lm
|
|
BIN_EXT =
|
|
endif
|
|
|
|
ifeq ($(PLATFORM),mingw32)
|
|
MNT_DIR = d:/Msys/home/menczel/mbspc
|
|
BLD_DIR = $(MNT_DIR)/build/win32
|
|
OS_CFLAGS = -D_WIN32
|
|
LIBS = -lws2_32 -lwinmm
|
|
BIN_EXT = .exe
|
|
endif
|
|
|
|
#--------------------------------------------------------------------
|
|
# Locations
|
|
#--------------------------------------------------------------------
|
|
|
|
BOT_DIR = $(MNT_DIR)/botlib
|
|
BSP_DIR = $(MNT_DIR)/mbspc
|
|
COM_DIR = $(MNT_DIR)/qcommon
|
|
OBJ_DIR = $(BLD_DIR)/obj
|
|
|
|
#--------------------------------------------------------------------
|
|
# Flags
|
|
#--------------------------------------------------------------------
|
|
|
|
BASE_CFLAGS = -c -O3 -Wall -Wstrict-prototypes -fno-strict-aliasing \
|
|
-MMD -DNDEBUG -DBSPC -DBSPCINCLUDE
|
|
|
|
CFLAGS = $(BASE_CFLAGS) $(OS_CFLAGS)
|
|
|
|
#--------------------------------------------------------------------
|
|
# Compile commands
|
|
#--------------------------------------------------------------------
|
|
|
|
CC = gcc$(BIN_EXT)
|
|
|
|
$(OBJ_DIR)/%.o: $(BSP_DIR)/%.c
|
|
$(CC) $(CFLAGS) -o $@ -c $<
|
|
|
|
$(OBJ_DIR)/%.o: $(BOT_DIR)/%.c
|
|
$(CC) $(CFLAGS) -o $@ -c $<
|
|
|
|
$(OBJ_DIR)/%.o: $(COM_DIR)/%.c
|
|
$(CC) $(CFLAGS) -o $@ -c $<
|
|
|
|
#--------------------------------------------------------------------
|
|
# Objects
|
|
#--------------------------------------------------------------------
|
|
|
|
BSP_OBJ = \
|
|
$(OBJ_DIR)/aas_areamerging.o \
|
|
$(OBJ_DIR)/aas_cfg.o \
|
|
$(OBJ_DIR)/aas_create.o \
|
|
$(OBJ_DIR)/aas_edgemelting.o \
|
|
$(OBJ_DIR)/aas_facemerging.o \
|
|
$(OBJ_DIR)/aas_file.o \
|
|
$(OBJ_DIR)/aas_gsubdiv.o \
|
|
$(OBJ_DIR)/aas_map.o \
|
|
$(OBJ_DIR)/aas_prunenodes.o \
|
|
$(OBJ_DIR)/aas_store.o \
|
|
$(OBJ_DIR)/be_aas_bspc.o \
|
|
$(OBJ_DIR)/brushbsp.o \
|
|
$(OBJ_DIR)/bsp_ent.o \
|
|
$(OBJ_DIR)/bsp_hl.o \
|
|
$(OBJ_DIR)/bsp_q1.o \
|
|
$(OBJ_DIR)/bsp_q2.o \
|
|
$(OBJ_DIR)/bsp_q3.o \
|
|
$(OBJ_DIR)/bsp_sin.o \
|
|
$(OBJ_DIR)/bspc.o \
|
|
$(OBJ_DIR)/bspcmd.o \
|
|
$(OBJ_DIR)/csg.o \
|
|
$(OBJ_DIR)/faces.o \
|
|
$(OBJ_DIR)/glfile.o \
|
|
$(OBJ_DIR)/leakfile.o \
|
|
$(OBJ_DIR)/log.o \
|
|
$(OBJ_DIR)/map.o \
|
|
$(OBJ_DIR)/map_hl.o \
|
|
$(OBJ_DIR)/map_q1.o \
|
|
$(OBJ_DIR)/map_q2.o \
|
|
$(OBJ_DIR)/map_q3.o \
|
|
$(OBJ_DIR)/map_sin.o \
|
|
$(OBJ_DIR)/math.o \
|
|
$(OBJ_DIR)/mem.o \
|
|
$(OBJ_DIR)/nodraw.o \
|
|
$(OBJ_DIR)/poly.o \
|
|
$(OBJ_DIR)/portals.o \
|
|
$(OBJ_DIR)/prtfile.o \
|
|
$(OBJ_DIR)/qfiles.o \
|
|
$(OBJ_DIR)/textures.o \
|
|
$(OBJ_DIR)/threads.o \
|
|
$(OBJ_DIR)/tree.o \
|
|
$(OBJ_DIR)/utils.o \
|
|
$(OBJ_DIR)/writebsp.o \
|
|
\
|
|
$(OBJ_DIR)/be_aas_bspq3.o \
|
|
$(OBJ_DIR)/be_aas_cluster.o \
|
|
$(OBJ_DIR)/be_aas_move.o \
|
|
$(OBJ_DIR)/be_aas_optimize.o \
|
|
$(OBJ_DIR)/be_aas_reach.o \
|
|
$(OBJ_DIR)/be_aas_sample.o \
|
|
$(OBJ_DIR)/l_libvar.o \
|
|
$(OBJ_DIR)/l_precomp.o \
|
|
$(OBJ_DIR)/l_script.o \
|
|
$(OBJ_DIR)/l_struct.o \
|
|
\
|
|
$(OBJ_DIR)/cm_load.o \
|
|
$(OBJ_DIR)/cm_patch.o \
|
|
$(OBJ_DIR)/cm_test.o \
|
|
$(OBJ_DIR)/cm_trace.o \
|
|
$(OBJ_DIR)/md4.o \
|
|
$(OBJ_DIR)/unzip.o
|
|
|
|
#--------------------------------------------------------------------
|
|
# Targets
|
|
#--------------------------------------------------------------------
|
|
|
|
BSP_EXE = $(BLD_DIR)/mbspc$(BIN_EXT)
|
|
|
|
all: $(BSP_EXE)
|
|
|
|
clean:
|
|
rm -f $(BSP_OBJ)
|
|
rm -f $(BSP_EXE)
|
|
|
|
|
|
veryclean:
|
|
rm -f $(BSP_OBJ)
|
|
rm -f $(BSP_EXE)
|
|
rm -f $(DEP_FILES)
|
|
|
|
cleandep:
|
|
rm -f $(DEP_FILES)
|
|
|
|
#-------------------------------------------------------------------
|
|
# Build rules
|
|
#-------------------------------------------------------------------
|
|
|
|
$(BSP_EXE): $(BSP_OBJ)
|
|
$(CC) $(BSP_LDFLAGS) -o $@ $(BSP_OBJ) $(LIBS)
|
|
|
|
#--------------------------------------------------------------------
|
|
# Dependencies
|
|
#--------------------------------------------------------------------
|
|
|
|
DEP_FILES = $(filter %.d,$(BSP_OBJ:%.o=%.d))
|
|
|
|
-include $(DEP_FILES)
|
|
|
|
.PHONY: all clean xclean cleandep
|