-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
100 lines (78 loc) · 2.86 KB
/
Makefile
File metadata and controls
100 lines (78 loc) · 2.86 KB
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
CC=gcc
STRIP=strip
############################################################
# if you want to make a floppy rescue disk based on uClibc
#
#CC=/usr/i386-linux-uclibc/bin/i386-uclibc-gcc
#STRIP=/usr/i386-linux-uclibc/bin/i386-uclibc-strip
############################################################
# -O1 optimization option helps in doing a few more checks ( and is necessary
# for the -Wuninitialized option ) but does not break the debugging (according
# to the GCC manual page).
CFLAGS_DEVEL=-O1 -g -Wall -W -Wstrict-prototypes -Wshadow -Wuninitialized \
-Wpointer-arith -Wcast-qual -Wcast-align -Wnested-externs \
`gtk-config --cflags`
#CFLAGS_DEVEL=-O1 -g -pedantic -Wall -W -Wstrict-prototypes -Wshadow -Wuninitialized \
# -Wpointer-arith -Wcast-qual -Wcast-align -Wconversion -Wnested-externs
CFLAGS_DIST=-O2 -Wall -W
################################################################################
################################################################################
# END OF CUSTOMISATION
################################################################################
################################################################################
OBJS_COMMON=src/core.o \
src/lib.o \
src/backtrace.o \
src/superblock.o \
src/directory.o \
src/inode.o \
src/block.o
OBJS_TXT=src/main.o
OBJS_GTK=src/ge2r.o
#CFLAGS_COMMON=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I $(shell pwd)/include
CFLAGS_COMMON=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
ifeq ($(MAKECMDGOALS),devel)
CFLAGS=$(CFLAGS_COMMON) $(CFLAGS_DEVEL)
# __DEBUG_E2RETRIEVE__ isn't used for the moment
#CFLAGS=$(CFLAGS) -D__DEBUG_E2RETRIEVE__
else
CFLAGS=$(CFLAGS_COMMON) $(CFLAGS_DIST)
endif
PROJECT_NAME = e2retrieve
IHM_NAME = ge2r
CURRENTDIR := $(notdir $(shell pwd) )
DATE := $(shell date '+%Y%m%d')
ARCHIVE_NAME := $(CURRENTDIR)_$(DATE).tar.gz
all: show_warning $(PROJECT_NAME)
devel: $(PROJECT_NAME) $(IHM_NAME)
$(PROJECT_NAME): $(OBJS_COMMON) $(OBJS_TXT)
# $(CC) -Wl,-static -o $@ $(OBJS_COMMON) $(OBJS_TXT)
$(CC) -o $@ $(OBJS_COMMON) $(OBJS_TXT)
ifneq ($(MAKECMDGOALS),devel)
$(STRIP) $@
endif
$(IHM_NAME): $(OBJS_COMMON) $(OBJS_GTK)
$(CC) `gtk-config --libs` -o $@ $(OBJS_COMMON) $(OBJS_GTK)
show_warning:
@echo
@echo "INFO:"
@echo "INFO: You can read and edit the config.h file before compiling e2retrieve."
@echo "INFO:"
@echo
version:
@echo "Making version.h file..."
echo "#define E2RETRIEVE_VERSION \"$(DATE)\"" > src/version.h
@echo
tgz: version clean dist-clean
chmod ugo+x utils/mke2loop.sh
cd .. ; tar -c -z --owner=root --group=root -f $(ARCHIVE_NAME) $(CURRENTDIR) ; cd -
@echo
@echo " ==> ../$(ARCHIVE_NAME) created"
clean:
rm -f $(PROJECT_NAME) $(IHM_NAME) src/*.o
dist-clean:
rm -f *~ src/*~ core
find . -type f -exec chmod 0644 {} \;
find . -type d -exec chmod 0755 {} \;
read-test: read-test.o
$(CC) -o $@ read-test.o