# Shave and a Haircut # (c) 2019 Epic Games # US Patent 6720962 thisMakefile := $(lastword $(MAKEFILE_LIST)) ifeq ($(thisMakefile),) $(error It looks you have a broken 'make'. If you are on an FC4 system try copying utils/make-3.81-fc4 into /usr/local/bin and renaming it 'make') endif # # Linux # arch = $(shell ../utils/getarch.sh) osVersion = $(shell ../utils/getos.sh) CC = gcc XLIBS_L = -L/usr/X11R6/lib -lXi -lXmu ifdef SHAVE_PROFILE profile := 1 endif ifdef profile PROF_FLAGS = -g endif ifndef SHAVE_OPT SHAVE_OPT = -O3 endif VARIANT_FLAGS= # This is a space-seprated list of source files which do not affect the # compilation of the shave library. NON_LIB_SOURCES = LIB_SOURCES = $(filter-out $(NON_LIB_SOURCES),$(wildcard *.c) $(wildcard *.cpp) $(wildcard *.h)) default: @echo "Specify which flavour of library to build." libAWLINUX-x64: $(MAKE) -f $(thisMakefile) shavelibAW-x64.a VARIANT_FLAGS="$(SHAVE_OPT) -m64 -fPIC" libAWLINUX2-x64: $(MAKE) -f $(thisMakefile) shavelibAW2-x64.a VARIANT_FLAGS="$(SHAVE_OPT) -m64 -fPIC -DALTERNATE_DEFS" libAWLINUXdbg-x64: $(MAKE) -f $(thisMakefile) shavelibAW-x64.a VARIANT_FLAGS="-O0 -g -ggdb -fno-inline -m64 -fPIC" libAWLINUX2dbg-x64: $(MAKE) -f $(thisMakefile) shavelibAW2-x64.a VARIANT_FLAGS="-O0 -g -ggdb -fno-inline -m64 -fPIC -DALTERNATE_DEFS" ifneq ($(VARIANT_FLAGS),) shavelibAW-x64.a: shavelib1forAWLINUX.o rm -f $@ ar r $@ $^ shavelibAW2-x64.a: shavelib1forAWLINUX.o rm -f $@ ar r $@ $^ shavelib1forAWLINUX.o: $(LIB_SOURCES) $(CC) -fvisibility=hidden shavelib1forAWLINUX.c -c $(PROF_FLAGS) $(VARIANT_FLAGS) endif libAWLINUXEXT-x64: $(CC) -shared -fPIC shavelib1forAWLINUX.c -m64 -fPIC \ $(SHAVE_OPT) -lGL -DEXTPRIM -o libShaveEngine-x64.so libAWLINUXEXTdbg-x64: $(CC) -shared -fPIC shavelib1forAWLINUX.c -m64 -fPIC -O0 \ -g -lGL -DEXTPRIM -o libShaveEngine-x64.so cleanIntermediates: rm -f *.o cleanAll-x64: rm -f *.o shavelibAW-x64.a shavelibAW2-x64.a libShaveEngine-x64.so