1
0
mirror of https://github.com/alliedmodders/metamod-source.git synced 2025-02-20 13:54:14 +01:00

Better Makefile

--HG--
extra : convert_revision : svn%3Ac2935e3e-5518-0410-8daf-afa5dab7d4e3/trunk%40114
This commit is contained in:
Pavol Marko 2005-09-24 15:56:40 +00:00
parent 21c610496c
commit e242aa662d

View File

@ -1,29 +1,49 @@
CC=gcc
CCFLAGS=-c -g -I.. -DSH_DEBUG
#(C)2004-2005 SourceMM Development Team
# Makefile written by David "BAILOPAN" Anderson
test.bin: bin bin/main.o bin/test1.o bin/test2.o bin/test3.o bin/test4.o bin/sourcehook.o
$(CC) bin/main.o bin/test1.o bin/test2.o bin/test3.o bin/test4.o bin/sourcehook.o -lstdc++ -o test.bin
OPT_FLAGS = -O3 -funroll-loops -s -pipe
DEBUG_FLAGS = -g -ggdb3
CPP = gcc
BINARY = sourcehook_test
bin:
mkdir bin
OBJECTS = test1.cpp test2.cpp test3.cpp test4.cpp testbail.cpp testbail2.cpp testlist.cpp main.cpp sourcehook.cpp
bin/main.o: main.cpp ../sourcehook.h
$(CC) $(CCFLAGS) -o bin/main.o main.cpp
LINK = -lstdc++
bin/test1.o: test1.cpp ../sourcehook.h
$(CC) $(CCFLAGS) -o bin/test1.o test1.cpp
INCLUDE = -I. -I..
bin/test2.o: test2.cpp ../sourcehook.h
$(CC) $(CCFLAGS) -o bin/test2.o test2.cpp
ifeq "$(DEBUG)" "true"
BIN_DIR = Debug
CFLAGS = $(DEBUG_FLAGS)
else
BIN_DIR = Release
CFLAGS = $(OPT_FLAGS)
endif
bin/test3.o: test3.cpp ../sourcehook.h
$(CC) $(CCFLAGS) -o bin/test3.o test3.cpp
# CFLAGS +=
bin/test4.o: test4.cpp ../sourcehook.h
$(CC) $(CCFLAGS) -o bin/test4.o test4.cpp
OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o)
bin/sourcehook.o: ../sourcehook.cpp ../sourcehook.h
$(CC) $(CCFLAGS) -o bin/sourcehook.o ../sourcehook.cpp
$(BIN_DIR)/%.o: %.cpp
$(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $<
../sourcehook.h: ../generate/sourcehook.hxx
(cd ../generate; ./generate 16)
all:
mkdir -p $(BIN_DIR)
ln -sf ../sourcehook.cpp sourcehook.cpp
$(MAKE) sourcehook_test
rm -f $(BINARY)
ln -sf $(BIN_DIR)/$(BINARY) $(BINARY)
sourcehook_test: $(OBJ_LINUX)
$(CPP) $(INCLUDE) $(CFLAGS) $(OBJ_LINUX) $(LINK) -o$(BIN_DIR)/$(BINARY)
debug:
$(MAKE) all DEBUG=true
default: all
clean:
rm -rf Release/*.o
rm -rf Release/$(BINARY)
rm -rf Debug/*.o
rm -rf Debug/$(BINARY)