# Megan Hazen
# Makefile for optimization example code
#
# USAGE:
# make : creates bench program executable
# make clean : removes all .o files, executables, 
#              and *~ files generated by make

# The compiler: gcc for C programs
CC = gcc

# Compiler flags:
CFLAGS = -Wall -std=c11 -lm

TARGET = mainopt

all: $(TARGET)

$(TARGET): mainopt.o particleswarm.o
	$(CC) $(CFLAGS) -o mainopt mainopt.o particleswarm.o

debug: CFLAGS += -pg
debug: $(TARGET)

# individual source files
mainopt.o: mainopt.c particleswarm.h
	$(CC) $(CFLAGS) -c mainopt.c

particleswarm.o: particleswarm.c particleswarm.h
	$(CC) $(CFLAGS) -c particleswarm.c

clean:
	\rm -f *.o *~ mainopt