File: Makefile.LINUX

package info (click to toggle)
liborigin 20080225-2
  • links: PTS, VCS
  • area: main
  • in suites: lenny, squeeze
  • size: 388 kB
  • ctags: 787
  • sloc: cpp: 5,242; makefile: 47; sh: 23
file content (44 lines) | stat: -rw-r--r-- 1,168 bytes parent folder | download | duplicates (2)
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
TARGET	= liborigin
TARGET0	= $(TARGET).so
TARGET1	= $(TARGET0).0
TARGET2	= $(TARGET0).0.0
TARGET3	= $(TARGET0).0.0.4
OPJ     = OPJFile
OPJ2DAT = opj2dat
CC	= g++
CFLAGS	= -pipe -Wall -W -O2 -fPIC
LDFLAGS	= -shared -Wl,-soname,$(TARGET1)
LIBEXT  = `./lib-arch.sh`
all : $(TARGET0) $(OPJ2DAT)

$(TARGET0) : $(OPJ).cpp $(OPJ).h
	$(CC) -c $(CFLAGS) $(OPJ).cpp -o $(OPJ).o
	$(CC) $(LDFLAGS) -o $(TARGET3) $(OPJ).o
	mkdir -p lib
	chmod 644 $(TARGET3)
	mv -f $(TARGET3) lib/
	(cd lib/;\
	ln -sf $(TARGET3) $(TARGET0);\
	ln -sf $(TARGET3) $(TARGET1);\
	ln -sf $(TARGET3) $(TARGET2))

$(OPJ2DAT): $(OPJ2DAT).cpp 
	$(CC) $(CFLAGS) -L lib/ -o $(OPJ2DAT) -lorigin $(OPJ2DAT).cpp

clean :
	rm -f *~ *.o $(OPJ2DAT) $(TARGET0)*
	rm -rf lib/

install:
	mkdir -pv $(DESTDIR)/usr/$(LIBEXT)
	cp -a lib/* $(DESTDIR)/usr/$(LIBEXT)/
	mkdir -p $(DESTDIR)/usr/bin
	chmod 755 $(OPJ2DAT)
	cp $(OPJ2DAT) $(DESTDIR)/usr/bin
	mkdir -p $(DESTDIR)/usr/include/$(TARGET)
	chmod 644 $(OPJ).h tree.hh
	cp $(OPJ).h tree.hh $(DESTDIR)/usr/include/$(TARGET)
	ldconfig
uninstall:
	rm -f $(DESTDIR)/usr/$(LIBEXT)/$(TARGET0)* $(DESTDIR)/usr/bin/$(OPJ2DAT) $(DESTDIR)/usr/include/$(TARGET)/$(OPJ).h
	ldconfig