| 1 | # -------------------- #
|
|---|
| 2 | # -- Label Makefile -- #
|
|---|
| 3 | # -------------------- #
|
|---|
| 4 |
|
|---|
| 5 | # Copyright (c) 2008-2008 Lionel Lacassagne
|
|---|
| 6 | # with a little help of Stephane Piskorski and Joel Falcou
|
|---|
| 7 |
|
|---|
| 8 | # -- Lile list ----------
|
|---|
| 9 | FILE_ECC = ecc_common.c ecc_features.c ecc_generation.c ecc_lsl.c
|
|---|
| 10 |
|
|---|
| 11 | 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
|
|---|
| 12 | FILE_ECCX_ALGO = eccx_grana.c eccx_hcs2.c eccx_mpar32.c eccx_rem.c eccx_rosenfeld.c eccx_selkow.c eccx_suzuki.c
|
|---|
| 13 | FILE_ECCP_ALGO = eccp_grana.c eccp_hcs.c eccp_hcs2.c eccp_rcm.c eccp_rosenfeld.c eccp_suzuki.c
|
|---|
| 14 | FILE_LSL = lsl.c lsl32.c lsl32_par.c lsl32_par1.c lsl32_par2.c
|
|---|
| 15 | #FILE_REGION = region32.c region32_algo.c region32_par1.c region32_par2.c region32_par_features.c region32_rosenfeld.c
|
|---|
| 16 | FILE_REGION = region32_par1.c region32_par2.c region32_par_features.c region32_rosenfeld.c region32.c region32_algo.c
|
|---|
| 17 | FILE_MISC = bmpNR.c histogramNR.c lutNR.c mt19937.c palette.c util.c str_ext.c
|
|---|
| 18 | FILE_TEST = ecc_features_test.c ecc_test.c ecc_test_cabaret.c lsl32_test.c region32_test.c
|
|---|
| 19 | FILE_MAIN = ecc_main.c
|
|---|
| 20 |
|
|---|
| 21 | FILE = $(FILE_ECC) $(FILE_ECC_ALGO) $(FILE_ECCX_ALGO) $(FILE_ECCP_ALGO) $(FILE_LSL) $(FILE_REGION) $(FILE_MISC) $(FILE_TEST) $(FILE_MAIN)
|
|---|
| 22 |
|
|---|
| 23 | # -- Paths ----------
|
|---|
| 24 | SRC_PATH = src
|
|---|
| 25 | OBJ_PATH = obj
|
|---|
| 26 | EXE_PATH = exe
|
|---|
| 27 | INC_PATH = include
|
|---|
| 28 |
|
|---|
| 29 | #Home
|
|---|
| 30 | LIB_LIB_PATH = -L/Users/lacas/Code/NRC2/lib
|
|---|
| 31 | LIB_INC_PATH = -I/Users/lacas/Code/NRC2/include
|
|---|
| 32 |
|
|---|
| 33 |
|
|---|
| 34 | # -- OS ----------
|
|---|
| 35 | #OS = MACH_OSX
|
|---|
| 36 | #OS = POSIX6
|
|---|
| 37 | OS = INTEL_CYCLE
|
|---|
| 38 |
|
|---|
| 39 | # -- Macros ----------
|
|---|
| 40 | CC = gcc
|
|---|
| 41 | CC = icc
|
|---|
| 42 | AR = ar -rc
|
|---|
| 43 |
|
|---|
| 44 | # -- Flags ----------
|
|---|
| 45 | # -fast: uniquement GCC-Apple
|
|---|
| 46 | C_DEBUG_FLAGS = -O0
|
|---|
| 47 | C_OPTIMISATION_FLAGS = -O3 -fstrict-aliasing -ipo # ipo ralenti
|
|---|
| 48 | C_OPTIMISATION_FLAGS = -std=c99 -O3 -fstrict-aliasing
|
|---|
| 49 | #C_OPTIMISATION_FLAGS = -fstrict-aliasing
|
|---|
| 50 | # -fprefetch-loop-arrays pas avec ICC
|
|---|
| 51 | C_ARCH_FLAGS = -xSSE4.2 -vec_report0 -openmp -openmp-report2
|
|---|
| 52 | C_ARCH_FLAGS =
|
|---|
| 53 | C_OS_FLAGS = -D$(OS)
|
|---|
| 54 | C_CONFIG_FLAGS = -D$(CONFIG)
|
|---|
| 55 | C_INC_FLAGS = -I$(INC_PATH)
|
|---|
| 56 |
|
|---|
| 57 | CFLAGS = $(C_DEBUG_FLAGS) $(C_ARCH_FLAGS) $(C_OS_FLAGS) $(C_CONFIG_FLAGS) $(C_INC_FLAGS) $(LIB_INC_PATH)
|
|---|
| 58 | CFLAGS = $(C_OPTIMISATION_FLAGS) $(C_ARCH_FLAGS) $(C_OS_FLAGS) $(C_CONFIG_FLAGS) $(C_INC_FLAGS) $(LIB_INC_PATH)
|
|---|
| 59 |
|
|---|
| 60 | LDFLAGS = $(C_DEBUG_FLAGS) $(C_ARCH_FLAGS) $(C_OS_FLAGS) $(C_CONFIG_FLAGS)$(C_INC_FLAGS) $(LIB_LIB_PATH)
|
|---|
| 61 | LDFLAGS = $(C_OPTIMISATION_FLAGS) $(C_ARCH_FLAGS) $(C_OS_FLAGS) $(C_CONFIG_FLAGS)$(C_INC_FLAGS) $(LIB_LIB_PATH)
|
|---|
| 62 |
|
|---|
| 63 | # -- Config ----------
|
|---|
| 64 | # if CONFIG = CLI (Command Line Interface, no Apple Framework)
|
|---|
| 65 |
|
|---|
| 66 | CONFIG = CLI
|
|---|
| 67 |
|
|---|
| 68 | # -- Final product ----------
|
|---|
| 69 | PRODUCT = labeling.exe
|
|---|
| 70 |
|
|---|
| 71 | # -- src and obj List ----------
|
|---|
| 72 | SRC = $(addprefix ${SRC_PATH}/, $(FILE))
|
|---|
| 73 | OBJ = $(addprefix ${OBJ_PATH}/, $(addsuffix .o, $(basename $(FILE))))
|
|---|
| 74 |
|
|---|
| 75 | # -- Base rules ----------
|
|---|
| 76 | $(OBJ_PATH)/%.o : $(SRC_PATH)/%.c
|
|---|
| 77 | $(CC) $(CFLAGS) -c $< -o $@
|
|---|
| 78 |
|
|---|
| 79 | #-----Main rule ----------
|
|---|
| 80 | $(EXE_PATH)/$(PRODUCT): $(OBJ)
|
|---|
| 81 | $(CC) -o $@ $^ $(LDFLAGS) $(INC) $(LIB_LIB_PATH) -lnrc2x -lm
|
|---|
| 82 |
|
|---|
| 83 | # -- Other stuff ----------
|
|---|
| 84 | depend:
|
|---|
| 85 | makedepend $(CFLAGS) -Y $(SRC)
|
|---|
| 86 |
|
|---|
| 87 | clean:
|
|---|
| 88 | rm -f $(OBJ)
|
|---|
| 89 | #rm -f ${LIB_PATH}/${PRODUCT}
|
|---|
| 90 |
|
|---|
| 91 | tar:
|
|---|
| 92 | tar -cvf labeling.tar Makefile src include
|
|---|
| 93 | gzip -9 labeling.tar |
|---|