|
|
-
- # Custom functions
- define say
- $(info [BitEvolver] $1)
- endef
- define error
- $(error [BitEvolver] $1)
- endef
- define die
- $(call error,$1)
- $(exit 1)
- endef
-
-
- # Demand BUILD_DIR and BIN_DIR
- ifeq ($(BUILD_DIR),)
- $(call die,Please provide BUILD_DIR)
- endif
- ifeq ($(BIN_DIR),)
- $(call die,Please provide BIN_DIR)
- endif
-
-
- #
- CC=g++
- CFLAGS= -c -std=c++11 -Wall -I..
-
-
- #
- OBJECT_PREFIX=BitEvolver_
-
-
- #
- default: default-say
- default: release
- default:
- $(call say,Default target finished)
- default-say:
- $(call say,Using default target: release)
-
-
- #
- release: release-say
- release: CFLAGS+= -O2
- release: build-objects
- release:
- $(call say,Done building RELEASE)
- release-say:
- $(call say,Building RELEASE)
-
- #
- debug: debug-say
- debug: CFLAGS+= -g -g3
- debug: build-objects
- debug:
- $(call say,Done building DEBUG)
- debug-say:
- $(call say,Building DEBUG)
-
-
- #
- build-objects: \
- $(BUILD_DIR)/$(OBJECT_PREFIX)Random.o \
- $(BUILD_DIR)/$(OBJECT_PREFIX)Population.o \
- $(BUILD_DIR)/$(OBJECT_PREFIX)Breeder.o \
- $(BUILD_DIR)/$(OBJECT_PREFIX)RouletteWheel.o \
- $(BUILD_DIR)/$(OBJECT_PREFIX)Chromosome.o
- $(call say,Done building objects)
-
-
- # Population.o
- $(BUILD_DIR)/$(OBJECT_PREFIX)Population.o: \
- Population.h \
- Population.cpp \
- Defines.h Enums.h Includes.h \
- Random.h \
- Chromosome.h
- $(CC) -o $@ \
- Population.cpp \
- $(CFLAGS)
- $(call say,Built $@)
-
-
- # Breeder.o
- $(BUILD_DIR)/$(OBJECT_PREFIX)Breeder.o: \
- Breeder.h \
- Breeder.cpp \
- Defines.h Enums.h Includes.h \
- Random.h \
- Chromosome.h
- $(CC) -o $@ \
- Breeder.cpp \
- $(CFLAGS)
- $(call say,Built $@)
-
-
- # RouletteWheel.o
- $(BUILD_DIR)/$(OBJECT_PREFIX)RouletteWheel.o: \
- RouletteWheel.h \
- RouletteWheel.cpp \
- Defines.h Enums.h Includes.h \
- Random.h
- $(CC) -o $@ \
- RouletteWheel.cpp \
- $(CFLAGS)
- $(call say,Built $@)
-
-
-
- # Chromosome.o
- $(BUILD_DIR)/$(OBJECT_PREFIX)Chromosome.o: \
- Chromosome.h \
- Chromosome.cpp \
- Defines.h Enums.h Includes.h \
- Random.h
- $(CC) -o $@ \
- Chromosome.cpp \
- $(CFLAGS)
- $(call say,Built $@)
-
-
- # Random.o
- $(BUILD_DIR)/$(OBJECT_PREFIX)Random.o: \
- Random.h \
- Random.cpp \
- Defines.h Enums.h Includes.h
- $(CC) -o $@ \
- Random.cpp \
- $(CFLAGS)
- $(call say,Built $@)
-
-
-
-
-
-
-
|