mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-16 17:31:27 +00:00
f51bdc2faa
* Centralize optimization strategies in Makefile.common. This required moving detection of $(PLATFORM), which makes sense if we work on the paradigm that Makefile.common is for generic compiler setup and Makefile.shared works with libraries and things closer to the engine and game code itself. * New Makefile variables OPTOPT (Optimization Options) and CUSTOMOPT (Custom Optimizations). OPTOPT by default contains -march, -mtune, etc. Setting this variable from Make invocation will blank these. CUSTOMOPT (Custom Optimizations) works the same but in an additive fashion, overwriting nothing. Technically CUSTOMOPT could stand for (Custom Options) and include any additional parameters sent to both linker and compiler. * Factor out literal names of the main executables. * The build process now prints assembler (if NOASM=0) and linker settings in addition to compiler settings. git-svn-id: https://svn.eduke32.com/eduke32@3096 1a8010ca-5511-0410-912e-c29ae57300e0
79 lines
1.9 KiB
Makefile
79 lines
1.9 KiB
Makefile
include ../../Makefile.common
|
|
include ../../$(EROOT)/Makefile.shared
|
|
|
|
OBJ=obj
|
|
OBJNAME=libjfaudiolib.a
|
|
SRC=src
|
|
INC=include
|
|
|
|
# SDK locations - adjust to match your setup
|
|
ifneq ($(DXROOT_OVERRIDE),)
|
|
DXROOT ?= $(DXROOT_OVERRIDE)
|
|
else
|
|
DXROOT=../../../sdk/dx
|
|
#DXROOT ?= c:/sdks/directx/dx8
|
|
endif
|
|
|
|
# for BUILD_ECHOFLAGS:
|
|
OURCFLAGS=$(BASECFLAGS) $(BUILDCFLAGS) -I$(INC) -I$(SRC)
|
|
ifneq ($(PLATFORM),WII)
|
|
OURCFLAGS+= -DHAVE_VORBIS
|
|
endif
|
|
ifneq ($(RELEASE),0)
|
|
# Debugging disabled
|
|
debug+= $(F_NO_STACK_PROTECTOR)
|
|
endif
|
|
OURCONLYFLAGS=$(BASECONLYFLAGS)
|
|
OURCXXFLAGS=$(BASECXXFLAGS)
|
|
OURLDFLAGS=$(BASELDFLAGS)
|
|
OURASFLAGS=$(BASEASFLAGS)
|
|
|
|
ifeq ($(PLATFORM),DARWIN)
|
|
ifeq (1,$(SDL_FRAMEWORK))
|
|
APPLE_INCLUDE_DIR:=../../Apple/include
|
|
OURCFLAGS += -DSDL_FRAMEWORK -I$(APPLE_INCLUDE_DIR) -I$(APPLE_FRAMEWORKS)/SDL.framework/Headers \
|
|
-I$(APPLE_FRAMEWORKS)/SDL_mixer.framework/Headers
|
|
endif
|
|
endif
|
|
|
|
|
|
OBJECTS=$(OBJ)/drivers.o \
|
|
$(OBJ)/fx_man.o \
|
|
$(OBJ)/multivoc.o \
|
|
$(OBJ)/mix.o \
|
|
$(OBJ)/mixst.o \
|
|
$(OBJ)/pitch.o \
|
|
$(OBJ)/vorbis.o \
|
|
$(OBJ)/driver_nosound.o
|
|
|
|
ifeq ($(PLATFORM),WINDOWS)
|
|
OURCFLAGS+= -I$(DXROOT)/include -Ithird-party/mingw32/include
|
|
OBJECTS+= $(OBJ)/driver_directsound.o
|
|
OBJNAME=libjfaudiolib_win32.a
|
|
OBJ=obj_win
|
|
else
|
|
OURCFLAGS+= -DHAVE_SDL $(SDLCONFIG_CFLAGS)
|
|
ifneq ($(PLATFORM),DARWIN)
|
|
OURCFLAGS+=`pkg-config --cflags vorbis`
|
|
endif
|
|
OBJECTS+= $(OBJ)/driver_sdl.o
|
|
endif
|
|
|
|
# OBJECTS=$(SOURCES:%.c=$(OBJ)/%.o)
|
|
|
|
$(OBJNAME): $(OBJECTS)
|
|
$(BUILD_ECHOFLAGS)
|
|
$(ARCHIVE_STATUS)
|
|
if $(AR) cr $@ $^; then $(ARCHIVE_OK); else $(ARCHIVE_FAILED); fi
|
|
|
|
$(OBJECTS): $(OBJ)/%.o: $(SRC)/%.c
|
|
-mkdir -p $(OBJ)
|
|
$(COMPILE_STATUS)
|
|
if $(CC) $(OURCONLYFLAGS) $(OURCFLAGS) -c $< -o $@; then $(COMPILE_OK); else $(COMPILE_FAILED); fi
|
|
|
|
ifeq ($(PRETTY_OUTPUT),1)
|
|
.SILENT:
|
|
endif
|
|
.PHONY: clean
|
|
clean:
|
|
-rm -f $(OBJECTS) $(OBJNAME)
|