forked from mkazhdan/PoissonRecon
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
65 lines (47 loc) · 1.65 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
JPG_TARGET=libmyjpg.a
JPG_SOURCE=ckconfig.cpp jccolor.cpp jcmainct.cpp jcparam.cpp jctrans.cpp jdatasrc.cpp jdhuff.cpp jdmaster.cpp jdsample.cpp jfdctfst.cpp jidctint.cpp jquant1.cpp jcapimin.cpp jcdctmgr.cpp jcmarker.cpp jcphuff.cpp jdapimin.cpp jdcoefct.cpp jdinput.cpp jdmerge.cpp jdtrans.cpp jfdctint.cpp jidctred.cpp jquant2.cpp jcapistd.cpp jchuff.cpp jcmaster.cpp jcprepct.cpp jdapistd.cpp jdcolor.cpp jdmainct.cpp jdphuff.cpp jerror.cpp jidctflt.cpp jmemmgr.cpp jutils.cpp jccoefct.cpp jcinit.cpp jcomapi.cpp jcsample.cpp jdatadst.cpp jddctmgr.cpp jdmarker.cpp jdpostct.cpp jfdctflt.cpp jidctfst.cpp jmemnobs.cpp
COMPILER ?= gcc
#COMPILER ?= clang
CFLAGS += -Wno-deprecated -Wno-write-strings
CFLAGS_DEBUG = -DDEBUG -g3
LFLAGS_DEBUG =
CFLAGS_RELEASE = -O3 -DRELEASE -funroll-loops -ffast-math -g
LFLAGS_RELEASE = -O3 -g
SRC = ./
BIN = ../Bin/Linux/
INCLUDE = ../
ifeq ($(COMPILER),gcc)
CC=gcc
CXX=g++
else
CC=clang
CXX=clang++
endif
MD=mkdir
JPG_OBJECTS=$(addprefix $(BIN), $(addsuffix .o, $(basename $(JPG_SOURCE))))
all: CFLAGS += $(CFLAGS_RELEASE)
all: LFLAGS += $(LFLAGS_RELEASE)
all: make_dir
all: $(BIN)
all: $(BIN)$(JPG_TARGET)
debug: CFLAGS += $(CFLAGS_DEBUG)
debug: LFLAGS += $(LFLAGS_DEBUG)
debug: $(BIN)
debug: $(BIN)$(JPG_TARGET)
jpeg: CFLAGS += $(CFLAGS_RELEASE)
jpeg: LFLAGS += $(LFLAGS_RELEASE)
jpeg: $(BIN)
jpeg: $(BIN)$(JPG_TARGET)
clean:
rm -rf $(BIN)$(JPG_TARGET)
rm -rf $(JPG_OBJECTS)
make_dir:
$(MD) -p $(BIN)
$(BIN):
$(MD) -p $(BIN)
$(BIN)$(JPG_TARGET): $(JPG_OBJECTS)
ar rcs $(BIN)$(JPG_TARGET) $(JPG_OBJECTS)
$(BIN)%.o: $(SRC)%.c
$(CC) -c -o $@ -I$(INCLUDE) $<
$(BIN)%.o: $(SRC)%.cpp
$(CC) -c -o $@ $(CFLAGS) -I$(INCLUDE) $<