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 29SRC_DIR = src/ 30H_DIR = smapi 31 32CDEFS=-D$(OSTYPE) $(ADDCDEFS) -I$(H_DIR) -I$(INCDIR) 33LIBS=-lhusky 34 35ifeq ($(DYNLIBS), 1) 36all: $(TARGETLIB) $(TARGETDLL).$(VER) 37else 38all: $(TARGETLIB) 39endif 40 41 42%$(_OBJ): $(SRC_DIR)%.c 43 $(CC) $(CFLAGS) $(CDEFS) $(SRC_DIR)$*.c 44 45$(TARGETLIB): $(OBJS) 46 $(AR) $(AR_R) $(TARGETLIB) $? 47ifdef RANLIB 48 $(RANLIB) $(TARGETLIB) 49endif 50 51ifeq ($(DYNLIBS), 1) 52 ifeq (~$(MKSHARED)~,~ld~) 53$(TARGETDLL).$(VER): $(OBJS) 54 $(LD) $(LFLAGS) -o $(TARGETDLL).$(VER) $(OBJS) -L$(LIBDIR) $(LIBS) 55 else 56$(TARGETDLL).$(VER): $(OBJS) 57 $(CC) -shared -Wl,-soname,$(TARGETDLL).$(VERH) \ 58 -o $(TARGETDLL).$(VER) $(OBJS) -L$(LIBDIR) $(LIBS) 59 endif 60 61instdyn: $(TARGETLIB) $(TARGETDLL).$(VER) 62 -$(MKDIR) $(MKDIROPT) $(DESTDIR)$(DIRSEP)$(LIBDIR) 63 $(INSTALL) $(ILOPT) $(TARGETDLL).$(VER) $(DESTDIR)$(DIRSEP)$(LIBDIR) 64 -$(RM) $(RMOPT) $(DESTDIR)$(DIRSEP)$(LIBDIR)$(DIRSEP)$(TARGETDLL).$(VERH) 65 -$(RM) $(RMOPT) $(DESTDIR)$(DIRSEP)$(LIBDIR)$(DIRSEP)$(TARGETDLL) 66# Changed the symlinks from symlinks with full path to just symlinks. 67# Better so :) 68 cd $(DESTDIR)$(DIRSEP)$(LIBDIR) ;\ 69 $(LN) $(LNOPT) $(TARGETDLL).$(VER) $(TARGETDLL).$(VERH) ;\ 70 $(LN) $(LNOPT) $(TARGETDLL).$(VER) $(TARGETDLL) 71ifneq (~$(LDCONFIG)~, ~~) 72 $(LDCONFIG) 73endif 74 75else 76instdyn: $(TARGETLIB) 77 78endif 79 80FORCE: 81 82install-h-dir: FORCE 83 -$(MKDIR) $(MKDIROPT) $(DESTDIR)$(DIRSEP)$(INCDIR)$(DIRSEP)$(H_DIR) 84 85%.h: FORCE 86 -$(INSTALL) $(IIOPT) $(H_DIR)$(DIRSEP)$@ $(DESTDIR)$(DIRSEP)$(INCDIR)$(DIRSEP)$(H_DIR) 87 88install-h: install-h-dir $(HEADERS) 89 90install: install-h instdyn 91 -$(MKDIR) $(MKDIROPT) $(DESTDIR)$(DIRSEP)$(LIBDIR) 92 $(INSTALL) $(ISLOPT) $(TARGETLIB) $(DESTDIR)$(DIRSEP)$(LIBDIR) 93 94uninstall: 95 -cd $(DESTDIR)$(DIRSEP)$(INCDIR)$(DIRSEP)$(H_DIR) ;\ 96 $(RM) $(RMOPT) $(HEADERS) 97 -$(RM) $(RMOPT) $(DESTDIR)$(DIRSEP)$(LIBDIR)$(DIRSEP)$(TARGETLIB) 98 -$(RM) $(RMOPT) $(DESTDIR)$(DIRSEP)$(LIBDIR)$(DIRSEP)$(TARGETDLL)* 99 100clean: 101 -$(RM) $(RMOPT) *$(_OBJ) 102 103distclean: clean 104 -$(RM) $(RMOPT) $(TARGETLIB) 105 -$(RM) $(RMOPT) $(TARGETDLL).$(VER) 106