summaryrefslogtreecommitdiff
path: root/Makefile.in
blob: 5639db69e2f81564a0d7ea489bb8a6b49756ff98 (plain)
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
100
101
102
103
104
105
106

CCFLAGS = -fPIC -pipe -Wall -g 
CFLAGS = $(GTK_CFLAGS) $(SOUP_CFLAGS) -I.
CC = gcc $(ARCHOPTS) -g
CCSLOW = gcc -O0 -g

# ----------------------------------------------------------------------------

OBJECTS = hardinfo.o shell.o util.o iconcache.o loadgraph.o  \
		menu.o stock.o callbacks.o expr.o report.o binreloc.o \
		vendor.o socket.o syncmanager.o
BENCHMARK_OBJECTS = fbench.o sha1.o blowfish.o md5.o nqueens.o fftbench.o

MODULES = computer.so devices.so benchmark.so network.so

all:	$(OBJECTS) $(MODULES) hardinfo

hardinfo:
	$(CC) $(CCFLAGS) -o hardinfo -Wl,-export-dynamic $(OBJECTS) $(GTK_LIBS) \
		$(SOUP_LIBS)

md5.o:
	$(CCSLOW) $(CCFLAGS) $(CFLAGS) -c md5.c -o $@

blowfish.o:
	$(CCSLOW) $(CCFLAGS) $(CFLAGS) -c blowfish.c -o $@

sha1.o:
	$(CCSLOW) $(CCFLAGS) $(CFLAGS) -c sha1.c -o $@

fbench.o:
	$(CCSLOW) $(CCFLAGS) $(CFLAGS) -c fbench.c -o $@

fftbench.o:
	$(CCSLOW) $(CCFLAGS) $(CFLAGS) -c fftbench.c -o $@

nqueens.o:
	$(CCSLOW) $(CCFLAGS) $(CFLAGS) -c nqueens.c -o $@

benchmark.so:	benchmark.c
	@echo "--- Module: $< ($@)"
	make $(BENCHMARK_OBJECTS)
	$(CCSLOW) $(CCFLAGS) $(CFLAGS) -o $@ -shared $< $(BENCHMARK_OBJECTS) \
		$(GTK_FLAGS) $(GTK_LIBS)
	ln -sf ../$@ modules

%.so:	%.c
	@echo "--- Module: $< ($@)"
	$(CC) $(CCFLAGS) $(CFLAGS) -o $@ -shared $< $(GTK_FLAGS) $(GTK_LIBS)
	ln -sf ../$@ modules
	
clean:
	rm -rf .xvpics pixmaps/.xvpics *.o *.so hardinfo modules/*.so report
	find . -name \*~ -exec rm -v {} \;
	find . -name x86 -type l -exec rm -v {} \;

dist-clean:	clean
	rm -rf Makefile debian/hardinfo/ config.h arch/this

package:	dist-clean
	@echo "Creating tar.gz..."
	cd .. && tar czf $(PACKAGE).tar.gz $(PACKAGE)/* && cd $(PACKAGE)
	@echo "Creating tar.bz2..."
	cd .. && tar cjf $(PACKAGE).tar.bz2 $(PACKAGE)/* && cd $(PACKAGE)

deb:	dist-clean
	@echo "Creating deb..."
	dpkg-buildpackage -rfakeroot -k${USER}

install:	all
	@echo '*** Cleaning up installation...'
	rm -rf ${DESTDIR}${LIBDIR}/hardinfo/modules ${DESTDIR}/usr/share/hardinfo/pixmaps

	@echo '*** Creating directories...'
	mkdir -p ${DESTDIR}/usr/bin
	mkdir -p ${DESTDIR}/usr/local
	mkdir -p ${DESTDIR}/usr/share/applications
	

	mkdir -p ${DESTDIR}${LIBDIR}/hardinfo/modules
	mkdir -p ${DESTDIR}/usr/share/hardinfo/pixmaps

	@echo '*** Installing icon...'
	cp hardinfo.desktop ${DESTDIR}/usr/share/applications

	@echo '*** Installing executable...'
	cp hardinfo ${DESTDIR}/usr/bin/hardinfo

	@echo '*** Installing modules...'
	cp -Lvr modules/*.so ${DESTDIR}${LIBDIR}/hardinfo/modules

	@echo '*** Installing pixmaps...'
	cp -Lvr pixmaps/* ${DESTDIR}/usr/share/hardinfo/pixmaps

	@echo '*** Installing misc data...'
	cp benchmark.conf ${DESTDIR}/usr/share/hardinfo
	cp benchmark.data ${DESTDIR}/usr/share/hardinfo

	@echo '*** Fixing permissions...'
	chmod 755 ${DESTDIR}/usr/bin/hardinfo

	@echo '*** Done installing.'

installer:
	makepackage