1# Makefile for the Husky build environment
2
3# include Husky-Makefile-Config
4ifeq ($(DEBIAN), 1)
5# Every Debian-Source-Paket has one included.
6include /usr/share/husky/huskymak.cfg
7else ifdef RPM_BUILD_ROOT
8# RPM build requires all files to be in the source directory
9include huskymak.cfg
10else
11include ../huskymak.cfg
12endif
13
14ifeq ($(OSTYPE), UNIX)
15  LIBPREFIX=lib
16  DLLPREFIX=lib
17endif
18
19include make/makefile.inc
20
21ifeq ($(DEBUG), 1)
22  CFLAGS=$(WARNFLAGS) $(DEBCFLAGS)
23  LFLAGS=$(DEBLFLAGS)
24else
25  CFLAGS=$(WARNFLAGS) $(OPTCFLAGS)
26  LFLAGS=$(OPTLFLAGS)
27endif
28
29LFLAGS+=-L$(LIBDIR)
30
31SRC_DIR = src/
32H_DIR   = areafix/
33TARGETLIB = $(LIBPREFIX)$(LIBNAME)$(_LIB)
34TARGETDLL = $(LIBPREFIX)$(LIBNAME)$(_DLL)
35
36CDEFS=-D$(OSTYPE) $(ADDCDEFS) -I$(H_DIR) -I$(INCDIR)
37LIBS=-lhusky -lsmapi -lfidoconfig
38
39ifeq ($(DYNLIBS), 1)
40all: $(TARGETLIB) $(TARGETDLL).$(VER)
41else
42all: $(TARGETLIB)
43endif
44
45
46%$(_OBJ): $(SRC_DIR)%.c
47	$(CC) $(CFLAGS) $(CDEFS) $(SRC_DIR)$*.c
48
49$(TARGETLIB): $(OBJS)
50	$(AR) $(AR_R) $(TARGETLIB) $?
51ifdef RANLIB
52	$(RANLIB) $(TARGETLIB)
53endif
54
55ifeq ($(DYNLIBS), 1)
56  ifeq (~$(MKSHARED)~,~ld~)
57$(TARGETDLL).$(VER): $(OBJS)
58	$(LD) $(LFLAGS) -o $(TARGETDLL).$(VER) $(OBJS) $(LIBS)
59  else
60$(TARGETDLL).$(VER): $(OBJS)
61	$(CC) $(LFLAGS) -shared -Wl,-soname,$(TARGETDLL).$(VERH) \
62          -o $(TARGETDLL).$(VER) $(OBJS) $(LIBS)
63  endif
64
65instdyn: $(TARGETLIB) $(TARGETDLL).$(VER)
66	-$(MKDIR) $(MKDIROPT) $(DESTDIR)$(LIBDIR)
67	$(INSTALL) $(ILOPT) $(TARGETDLL).$(VER) $(DESTDIR)$(LIBDIR)
68	-$(RM) $(RMOPT) $(DESTDIR)$(LIBDIR)$(DIRSEP)$(TARGETDLL).$(VERH)
69	-$(RM) $(RMOPT) $(DESTDIR)$(LIBDIR)$(DIRSEP)$(TARGETDLL)
70# Changed the symlinks from symlinks with full path to just symlinks.
71# Better so :)
72	cd $(DESTDIR)$(LIBDIR) ;\
73	$(LN) $(LNOPT) $(TARGETDLL).$(VER) $(TARGETDLL).$(VERH) ;\
74	$(LN) $(LNOPT) $(TARGETDLL).$(VER) $(TARGETDLL)
75ifneq (~$(LDCONFIG)~, ~~)
76	$(LDCONFIG)
77endif
78
79else
80instdyn: $(TARGETLIB)
81
82endif
83
84FORCE:
85
86install-h-dir: FORCE
87	-$(MKDIR) $(MKDIROPT) $(DESTDIR)$(INCDIR)/$(H_DIR)
88
89%.h: FORCE
90	-$(INSTALL) $(IIOPT) $(H_DIR)$@ $(DESTDIR)$(INCDIR)/$(H_DIR)
91
92install-h: install-h-dir $(HEADERS)
93
94install: install-h instdyn
95	-$(MKDIR) $(MKDIROPT) $(DESTDIR)$(LIBDIR)
96	$(INSTALL) $(ISLOPT) $(TARGETLIB) $(DESTDIR)$(LIBDIR)
97
98uninstall:
99	-cd $(DESTDIR)$(INCDIR)/$(H_DIR) ;\
100	$(RM) $(RMOPT) $(HEADERS)
101	-$(RM) $(RMOPT) $(DESTDIR)$(LIBDIR)/$(TARGETLIB)
102	-$(RM) $(RMOPT) $(DESTDIR)$(LIBDIR)/$(TARGETDLL)*
103
104clean:
105	-$(RM) $(RMOPT) *$(_OBJ)
106
107distclean: clean
108	-$(RM) $(RMOPT) $(TARGETLIB)
109	-$(RM) $(RMOPT) $(TARGETDLL).$(VER)
110