# -------------------- # # -- Label Makefile -- # # -------------------- # # Copyright (c) 2008-2008 Lionel Lacassagne # with a little help of Stephane Piskorski and Joel Falcou # -- Lile list ---------- FILE_ECC = ecc_common.c ecc_features.c ecc_generation.c ecc_lsl.c FILE_ECC_ALGO = ecc_grana.c ecc_hcs.c ecc_hcs2.c ecc_minmax.c ecc_mpar32.c ecc_rcm.c ecc_rosenfeld.c ecc_selkow.c ecc_suzuki.c FILE_ECCX_ALGO = eccx_grana.c eccx_hcs2.c eccx_mpar32.c eccx_rem.c eccx_rosenfeld.c eccx_selkow.c eccx_suzuki.c FILE_ECCP_ALGO = eccp_grana.c eccp_hcs.c eccp_hcs2.c eccp_rcm.c eccp_rosenfeld.c eccp_suzuki.c FILE_LSL = lsl.c lsl32.c lsl32_par.c lsl32_par1.c lsl32_par2.c #FILE_REGION = region32.c region32_algo.c region32_par1.c region32_par2.c region32_par_features.c region32_rosenfeld.c FILE_REGION = region32_par1.c region32_par2.c region32_par_features.c region32_rosenfeld.c region32.c region32_algo.c FILE_MISC = bmpNR.c histogramNR.c lutNR.c mt19937.c palette.c util.c str_ext.c FILE_TEST = ecc_features_test.c ecc_test.c ecc_test_cabaret.c lsl32_test.c region32_test.c FILE_MAIN = ecc_main.c FILE = $(FILE_ECC) $(FILE_ECC_ALGO) $(FILE_ECCX_ALGO) $(FILE_ECCP_ALGO) $(FILE_LSL) $(FILE_REGION) $(FILE_MISC) $(FILE_TEST) $(FILE_MAIN) # -- Paths ---------- SRC_PATH = src OBJ_PATH = obj EXE_PATH = exe INC_PATH = include #Home LIB_LIB_PATH = -L/Users/lacas/Code/NRC2/lib LIB_INC_PATH = -I/Users/lacas/Code/NRC2/include # -- OS ---------- #OS = MACH_OSX #OS = POSIX6 OS = INTEL_CYCLE # -- Macros ---------- CC = gcc CC = icc AR = ar -rc # -- Flags ---------- # -fast: uniquement GCC-Apple C_DEBUG_FLAGS = -O0 C_OPTIMISATION_FLAGS = -O3 -fstrict-aliasing -ipo # ipo ralenti C_OPTIMISATION_FLAGS = -std=c99 -O3 -fstrict-aliasing #C_OPTIMISATION_FLAGS = -fstrict-aliasing # -fprefetch-loop-arrays pas avec ICC C_ARCH_FLAGS = -xSSE4.2 -vec_report0 -openmp -openmp-report2 C_ARCH_FLAGS = C_OS_FLAGS = -D$(OS) C_CONFIG_FLAGS = -D$(CONFIG) C_INC_FLAGS = -I$(INC_PATH) CFLAGS = $(C_DEBUG_FLAGS) $(C_ARCH_FLAGS) $(C_OS_FLAGS) $(C_CONFIG_FLAGS) $(C_INC_FLAGS) $(LIB_INC_PATH) CFLAGS = $(C_OPTIMISATION_FLAGS) $(C_ARCH_FLAGS) $(C_OS_FLAGS) $(C_CONFIG_FLAGS) $(C_INC_FLAGS) $(LIB_INC_PATH) LDFLAGS = $(C_DEBUG_FLAGS) $(C_ARCH_FLAGS) $(C_OS_FLAGS) $(C_CONFIG_FLAGS)$(C_INC_FLAGS) $(LIB_LIB_PATH) LDFLAGS = $(C_OPTIMISATION_FLAGS) $(C_ARCH_FLAGS) $(C_OS_FLAGS) $(C_CONFIG_FLAGS)$(C_INC_FLAGS) $(LIB_LIB_PATH) # -- Config ---------- # if CONFIG = CLI (Command Line Interface, no Apple Framework) CONFIG = CLI # -- Final product ---------- PRODUCT = labeling.exe # -- src and obj List ---------- SRC = $(addprefix ${SRC_PATH}/, $(FILE)) OBJ = $(addprefix ${OBJ_PATH}/, $(addsuffix .o, $(basename $(FILE)))) # -- Base rules ---------- $(OBJ_PATH)/%.o : $(SRC_PATH)/%.c $(CC) $(CFLAGS) -c $< -o $@ #-----Main rule ---------- $(EXE_PATH)/$(PRODUCT): $(OBJ) $(CC) -o $@ $^ $(LDFLAGS) $(INC) $(LIB_LIB_PATH) -lnrc2x -lm # -- Other stuff ---------- depend: makedepend $(CFLAGS) -Y $(SRC) clean: rm -f $(OBJ) #rm -f ${LIB_PATH}/${PRODUCT} tar: tar -cvf labeling.tar Makefile src include gzip -9 labeling.tar