CC = gcc
CCLD = gcc

PROJECT = mkcf
TARGET = $(PROJECT)
PJNAME  = Mkcf

COMMON = /home/hq/prj/common

MY_DATE := $(shell date +%Y%m%d)

CPPFLAGS = 
LDFLAGS = 
LIBS = `pkg-config --cflags --libs libpcre` 
DEFS = -DLINUX -DMSG_DEBUG
#DEFS = -DLINUX
INCLUDES = -I.
DEF_MAIN = -DPJVERSION=\"$(PJNAME)-$(MY_DATE)\"
CFLAGS = -g -Wall
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
LINK = $(CCLD) $(CFLAGS) $(LDFLAGS) $(LIBS) -o $@
LFS    = -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE

LDADD =

COMSRCS = fdbuf.c dbuf.c dlist.c array.c appclass.c appmem.c msglog.c \
          strcatdup.c duprintf.c pcreg_ex.c stutil.c strmem.c arraystr.c \
          strobj.c dliststr.c
SRCS = mkcf.c newpref.c filerec.c variable.c descrec.c descelem.c \
       $(COMSRCS) 

COMHEADERS = msglog.h appmem.h appclass.h strcatdup.h duprintf.h dlist.h \
             array.h dbuf.h fdbuf.h stutil.h strmem.h  pcreg_ex.h \
             arraystr.h strobj.h dliststr.h
             
HEADERS = mkcf.h filerec.h variable.h descrec.h descelem.h \
          $(COMHEADERS) 

COMLINKS = $(COMSRCS) $(COMHEADERS)

FILES = Makefile README

SOBJS = $(SRCS:.c=.o)

PACK_DIR = $(PROJECT)-$(MY_DATE)
PACKAGE = $(PACK_DIR).tar.xz
PACK_FILES = $(SRCS)  $(HEADERS) $(FILES)

.c.o:
	$(COMPILE) -c $<

all : $(TARGET)

$(TARGET): $(SOBJS)
	$(LINK) $(LDFLAGS) $(SOBJS) $(LDADD)


tar:
	mkdir $(PACK_DIR)
	cp $(PACK_FILES)  $(PACK_DIR)
	touch -f $(PACK_DIR)/.link
	cp -p $(COMMON)/COPYING $(PACK_DIR)
	tar Jcvf $(PACKAGE) $(PACK_DIR)
	rm -fr  $(PACK_DIR)
	cp $(PACKAGE) $(HOME)/cdrom/packages_temp

links :
	make rmlink
	make .link
        
.link :
	# echo $(COMLINKS) 
	for file in $(COMLINKS); do \
	  ln -sf $(COMMON)/$$file; \
	done
	touch .link

rmlink:
	rm -f .link $(COMLINKS)  $(LOCALLINKS)

install:
	cp mkcf /usr/local/bin

uninstall:
	rm -f /usr/local/bin/mkcf

clean:
	rm -f  *.o *~ $(TARGET)
