You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.1 KiB
57 lines
1.1 KiB
PROJECT = xmlrpc
|
|
INCLUDE = include
|
|
CFLAGS = -Wall -ggdb
|
|
|
|
###
|
|
# PROJECT CONFIG
|
|
#
|
|
SUBDIRS = system server reader
|
|
|
|
system_OBJ = daemonize.o handleCmdLine.o logRotate.o monitor.o \
|
|
signalHandling.o socket.o
|
|
server_OBJ = serverInit.o serverRun.o serverShutdown.o
|
|
commonReader_OBJ = clientClose.o clientRead.o writeBuffer.o
|
|
httpReader_OBJ = httpRequest.o
|
|
|
|
VPATH=$(INCLUDE)
|
|
|
|
export CFLAGS INCLUDE \
|
|
system_OBJ server_OBJ commonReader_OBJ httpReader_OBJ
|
|
|
|
OBJECTS=$(PROJECT).o \
|
|
$(addprefix system/,$(system_OBJ)) \
|
|
$(addprefix server/,$(server_OBJ)) \
|
|
$(addprefix reader/commonReader/,$(commonReader_OBJ)) \
|
|
$(addprefix reader/httpReader/,$(httpReader_OBJ))
|
|
|
|
###
|
|
# EXPLICIT RULES
|
|
#
|
|
$(PROJECT): $(PROJECT).o subdirs
|
|
gcc $(CFLAGS) -o $(PROJECT) -lexpat $(OBJECTS)
|
|
|
|
$(PROJECT).o: server.h monitor.h signalHandling.h daemonize.h appConfig.h
|
|
|
|
###
|
|
# IMPLICIT RULES
|
|
#
|
|
%.o: %.c
|
|
gcc $(CFLAGS) -c $< -o $@
|
|
|
|
###
|
|
# PHONYS
|
|
#
|
|
.PHONY: clean subdirs subdirs_clean $(SUBDIRS)
|
|
|
|
subdirs: $(SUBDIRS)
|
|
|
|
$(SUBDIRS):
|
|
$(MAKE) -C $@
|
|
|
|
subdirs_clean:
|
|
for dir in $(SUBDIRS); do \
|
|
$(MAKE) -C $$dir clean; \
|
|
done
|
|
|
|
clean: subdirs_clean
|
|
-rm *.o
|