-CC = gcc
+CC = gcc-4.3
+#CC = gcc-3.4
-CFLAGS = -Wall
+CFLAGS = -Wall -Winline
#CFLAGS += -Wextra -pedantic
-CFLAGS += -O3
+
+CFLAGS += -O3 -march=native -msse2 -mfpmath=sse
+#CFLAGS += -O3 -march=athlon64
+
CFLAGS += -g
-CFLAGS += -ffloat-store
+#CFLAGS += -pg
+#CFLAGS += -ffloat-store
+
+#CFLAGS += -DPARALLEL -fopenmp
+#CFLAGS += -DPTHREADS -lpthread
+#CFLAGS += -DVISUAL_THREAD -lpthread
+#CFLAGS += -DPTHREADS -DVISUAL_THREAD -lpthread
-CFLAGS += -DALBE
+#CFLAGS += -DALBE
+CFLAGS += -DALBE_FAST
#CFLAGS += -DTERSOFF_ORIG
#CFLAGS += -DSTATIC_LISTS
+CFLAGS += -DLOWMEM_LISTS
+#CFLAGS += -DPDEBUG
#CFLAGS += -DDEBUG
-#CFLAGS += -DDSTART=19 -DDEND=40 -DDATOM=5832
+#CFLAGS += -DDSTART=50 -DDEND=60 -DDATOM=0
#CFLAGS += -DVDEBUG
+#CFLAGS += -DCONSTRAINT_110_5832
+#CFLAGS += -DQUENCH
+
LDFLAGS = -lm
+
+#LDFLAGS += -lc_p
#LDFLAGS += -lefence
DEPS = moldyn.o random/random.o list/list.o
DEPS += potentials/lennard_jones.o potentials/harmonic_oscillator.o
DEPS += potentials/tersoff.o potentials/albe.o
+DEPS += potentials/albe_fast.o
+
+SRC = moldyn.c random/random.c list/list.c
+SRC += potentials/lennard_jones.c potentials/harmonic_oscillator.c
+SRC += potentials/tersoff.c potentials/albe.c
+SRC += potentials/albe_fast.c
ALL = mdrun sic fluctuation_calc postproc pair_correlation_calc diffusion_calc
-ALL += bond_analyze search_bonds
+ALL += diffusion_calc_ver2 bond_analyze search_bonds visual_atoms
+ALL += display_atom_data atom_match
all: $(ALL)
-mdrun: $(DEPS)
+# main code. using SRC, much more efficient code is produced!
+mdrun: $(SRC)
+#mdrun: $(DEPS)
sic: $(DEPS) config.h
diffusion_calc: $(DEPS)
+diffusion_calc_ver2: $(DEPS)
+
bond_analyze: $(DEPS)
search_bonds: $(DEPS)
+visual_atoms: $(DEPS)
+
+display_atom_data: $(DEPS)
+
+atom_match: $(DEPS)
+
.PHONY:clean
clean:
rm -vf $(ALL) *.o */*.o