forked from KlausKnopper/cloop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
68 lines (50 loc) · 1.55 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
65
66
67
68
#!/usr/bin/make
MACHINE=$(shell uname -m)
ifndef KERNEL_DIR
KERNEL_DIR:=/lib/modules/`uname -r`/build
endif
file_exist=$(shell test -f $(1) && echo yes || echo no)
# test for 2.6 or 2.4 kernel
ifeq ($(call file_exist,$(KERNEL_DIR)/Rules.make), yes)
PATCHLEVEL:=4
else
PATCHLEVEL:=6
endif
ifdef APPSONLY
CFLAGS:=-Wall -Wstrict-prototypes -Wno-trigraphs -O2 -s -I. -fno-strict-aliasing -fno-common -fomit-frame-pointer
endif
KERNOBJ:=cloop.o
# Name of module
ifeq ($(PATCHLEVEL),6)
MODULE:=cloop.ko
else
MODULE:=cloop.o
endif
ALL_TARGETS = create_compressed_fs extract_compressed_fs
ifndef APPSONLY
ALL_TARGETS += $(MODULE)
endif
all: $(ALL_TARGETS)
module: $(MODULE)
utils: create_compressed_fs extract_compressed_fs
# For Kernel >= 2.6, we now use the "recommended" way to build kernel modules
obj-m := cloop.o
# cloop-objs := cloop.o
$(MODULE): cloop.c cloop.h
@echo "Building for Kernel Patchlevel $(PATCHLEVEL)"
$(MAKE) modules -C $(KERNEL_DIR) M=$(CURDIR)
create_compressed_fs: advancecomp-1.15/advfs
ln -f $< $@
advancecomp-1.15/advfs:
( cd advancecomp-1.15 ; ./configure && $(MAKE) advfs )
extract_compressed_fs: extract_compressed_fs.c
$(CC) -Wall -O2 -s -o $@ $< -lz
cloop_suspend: cloop_suspend.o
$(CC) -Wall -O2 -s -o $@ $<
clean:
rm -rf create_compressed_fs extract_compressed_fs zoom *.o *.ko Module.symvers .cloop* .compressed_loop.* .tmp*
[ -f advancecomp-1.15/Makefile ] && $(MAKE) -C advancecomp-1.15 distclean || true
dist: clean
cd .. ; \
tar -cf - cloop/{Makefile,*.[ch],CHANGELOG,README} | \
bzip2 -9 > $(HOME)/redhat/SOURCES/cloop.tar.bz2