All pastes #93953 Raw Edit

Anonymous

public text v1 · immutable
#93953 ·published 2006-07-20 21:54 UTC
rendered paste body
# GPL License - see http://opensource.org/licenses/gpl-license.php
# Copyright 2006 *nixCoders team - don't forget to credits us

VERSION = $(shell cat version.def)

CFLAGS = -Wall -fPIC -march=i686 -fno-strict-aliasing -DETH_VERSION=\"$(VERSION)\" 

#  
# Release/Debug flags
ifdef RELEASE
	CFLAGS += -O3
else
	CFLAGS += -ggdb -DETH_DEBUG
endif

CC = gcc-3.3
CXX=g++-3.3
LD = gcc
LDFLAGS = -shared -ldl -lz

OBJS = aimbot.o commands.o drawtools.o engine.o eth.o g_functions.o hook.o \
	hud.o medias.o medicbot.o menu.o net.o spycam.o visuals.o
HEADERS = eth.h hook.h hud.h menu.h net.h types.h
PROG = libETH.so

# libghf
LIBGHF_VERSION = 0.4-0
LIBGHF_FOLDER = ghf
LIBGHF_FILE = ghf-$(LIBGHF_VERSION).tar.gz
LIBGHF_DOWNLOAD = ./get-ghf.sh
LIBGHF = $(LIBGHF_FOLDER)/libghf.a
LIBGHF_FLAGS = -lelf -lbfd -lopcodes -L$(LIBGHF_FOLDER) -lghf

# pk3
PK3_FOLDER = pk3
PK3_FILE = eth.pk3

# sdk
SDK_FOLDER = sdk
SDK_URL = ftp://ftp.mirror.nl/pub/mirror/idsoftware/idstuff/et/sdk/
SDK_FILE = et-linux-2.60-sdk.x86.run

DIST_FILES += $(OBJS:.o=.c) $(HEADERS) $(PROG) $(LIBGHF_FILE) $(PK3_FILE) $(SDK_FOLDER) $(PK3_FOLDER) \
	CHANGELOG CREDITS INSTALL LICENSE Makefile README run.sh version.def
DIST_FOLDER = eth-$(VERSION)

# Private
ifdef PRIVATE
	CFLAGS += -DETH_PRIVATE
	OBJS += private.o
	HEADERS += private.h private_hook.h
endif

# Default
all: $(SDK_FOLDER)  $(LIBGHF) $(PK3_FILE) $(PROG)
	$(if $(RELEASE), strip $(PROG))

# Compile
%.o: %.c $(HEADERS) Makefile
	$(CC) $(CFLAGS) -c -o $@ $<
q_math.o: sdk/src/game/q_math.c Makefile
	$(CC) $(CFLAGS) -c -o $@ $<

# Link
$(PROG): $(OBJS) q_math.o
	 $(LD) $(OBJS) q_math.o -o $(PROG) $(LDFLAGS) $(LIBGHF_FLAGS) 

# libghf
$(LIBGHF): $(LIBGHF_FILE)
	tar xzf $(LIBGHF_FILE)
	make -C $(LIBGHF_FOLDER) clean all $(if $(RELEASE), RELEASE=1)
$(LIBGHF_FILE):
	@test -f $(LIBGHF_DOWNLOAD) || (echo "Can't find $(LIBGHF_FILE)" && /bin/false)
	$(LIBGHF_DOWNLOAD)

# sdk
$(SDK_FOLDER):
	test -f $(SDK_FILE) || wget $(SDK_URL)$(SDK_FILE)
	mkdir $(SDK_FOLDER)
	/bin/sh $(SDK_FILE) --tar xfC $(SDK_FOLDER)
	@# Cleanup sdk
	find $(SDK_FOLDER) -not -name "q_math.c" -not -iname "*.h" -exec rm -f {} \; 2> /dev/null || /bin/true
	find $(SDK_FOLDER) -type d -exec rmdir -p {} \; 2> /dev/null || /bin/true
	rm -rf $(SDK_FOLDER)/src/botai
	@# Change 'Window' var name for no conflict with xlib
	sed -e "s/Window/eth_Window/" $(SDK_FOLDER)/src/ui/ui_shared.h -i

$(PK3_FILE):
	cd $(PK3_FOLDER) && zip -q9r ../$(PK3_FILE) . -x '*.svn*' 

clean:
	rm -rf $(PROG) $(OBJS) $(LIBGHF_FOLDER) $(PK3_FILE) $(SDK_FOLDER) q_math.o private.o

dist:
	@test ! -f ../eth-$(VERSION).tar.gz || (echo eth-$(VERSION).tar.gz already exist. && /bin/false)
	mkdir $(DIST_FOLDER)
	make clean all RELEASE=1
	cp -R $(DIST_FILES) $(DIST_FOLDER)
	find $(DIST_FOLDER) -type d -name ".svn" -exec rm -rf {} \; 2> /dev/null || /bin/true
	tar -czf ../eth-$(VERSION).tar.gz $(DIST_FOLDER)
	rm -rf $(DIST_FOLDER)

help:
	@echo "For this Makefile options see README"