Commit bf8c29c3 authored by Federico Vaga's avatar Federico Vaga

Makefile standardization

parents 0dacf4c4 3ff82975
...@@ -10,6 +10,8 @@ all clean modules install modules_install: gitmodules ...@@ -10,6 +10,8 @@ all clean modules install modules_install: gitmodules
all modules: prereq all modules: prereq
clean_all: clean prereq_clean
# a hack, to prevent compiling wr-nic.ko, which won't work on older kernels # a hack, to prevent compiling wr-nic.ko, which won't work on older kernels
CONFIG_WR_NIC=n CONFIG_WR_NIC=n
export CONFIG_WR_NIC export CONFIG_WR_NIC
...@@ -23,7 +25,8 @@ gitmodules: ...@@ -23,7 +25,8 @@ gitmodules:
# The user can override, using environment variables, all these three: # The user can override, using environment variables, all these three:
FMC_BUS ?= fmc-bus FMC_BUS ?= fmc-bus
ZIO ?= zio ZIO ?= zio
SUBMOD = $(FMC_BUS) $(ZIO) SPEC_SW ?= spec-sw
SUBMOD = $(FMC_BUS) $(ZIO) $(SPEC_SW)
prereq: prereq:
for d in $(SUBMOD); do $(MAKE) -C $$d || exit 1; done for d in $(SUBMOD); do $(MAKE) -C $$d || exit 1; done
...@@ -35,3 +38,6 @@ prereq_install_warn: ...@@ -35,3 +38,6 @@ prereq_install_warn:
prereq_install: prereq_install:
for d in $(SUBMOD); do $(MAKE) -C $$d modules_install || exit 1; done for d in $(SUBMOD); do $(MAKE) -C $$d modules_install || exit 1; done
touch .prereq_installed touch .prereq_installed
prereq_clean:
for d in $(SUBMOD); do $(MAKE) -C $$d clean || exit 1; done
LINUX ?= /lib/modules/$(shell uname -r)/build LINUX ?= /lib/modules/$(shell uname -r)/build
ZIO ?= $(M)/../zio ZIO ?= $(src)/../zio
FMC_BUS ?= $(M)/../fmc-bus FMC_BUS ?= $(src)/../fmc-bus
SPEC ?= $(M)/../spec-sw SPEC ?= $(src)/../spec-sw
KBUILD_EXTRA_SYMBOLS := $(ZIO)/Module.symvers $(SPEC)/kernel/Module.symvers $(FMC_BUS)/kernel/Module.symvers KBUILD_EXTRA_SYMBOLS := \
$(ZIO)/Module.symvers \
ccflags-y = -I$(ZIO)/include -I$M -I$(FMC_BUS)/kernel/include -I$(FMC_BUS)/kernel/include/linux -I$(FMC_BUS)/sdb-lib -I$(SPEC)/kernel $(SPEC)/kernel/Module.symvers \
$(FMC_BUS)/kernel/Module.symvers
#ccflags-y += -DDEBUG
GIT_VERSION = $(shell cd $(src); git describe --always --dirty --long --tags)
# For this CSM_VERSION, please see ohwr.org/csm documentation
ifdef CONFIG_CSM_VERSION
ccflags-y += -D"CERN_SUPER_MODULE=MODULE_VERSION(\"$(CONFIG_CSM_VERSION)\")"
else
ccflags-y += -DCERN_SUPER_MODULE=""
endif
ccflags-y = -DGIT_VERSION=\"$(GIT_VERSION)\" \
-I$(src) \
-I$(ZIO)/include \
-I$(FMC_BUS)/kernel/include \
-I$(FMC_BUS)/kernel/include/linux \
-I$(FMC_BUS)/sdb-lib \
-I$(SPEC)/kernel
ccflags-$(CONFIG_FMC_TDC_DEBUG) += -DDEBUG
subdirs-ccflags-y = $(ccflags-y) subdirs-ccflags-y = $(ccflags-y)
obj-m := fmc-tdc.o obj-m := fmc-tdc.o
fmc-tdc-objs = acam.o calibration.o fmc-util.o ft-spec.o \ fmc-tdc-objs = acam.o calibration.o fmc-util.o ft-spec.o \
ft-svec.o ft-core.o onewire.o ft-time.o ft-irq.o ft-zio.o \ ft-svec.o ft-core.o onewire.o ft-time.o ft-irq.o ft-zio.o\
../fmc-bus/sdb-lib/access.o ../fmc-bus/sdb-lib/glue.o ../fmc-bus/sdb-lib/access.o ../fmc-bus/sdb-lib/glue.o
all: modules all: modules
......
...@@ -390,4 +390,7 @@ static void ft_exit(void) ...@@ -390,4 +390,7 @@ static void ft_exit(void)
module_init(ft_init); module_init(ft_init);
module_exit(ft_exit); module_exit(ft_exit);
MODULE_VERSION(GIT_VERSION);
MODULE_LICENSE("GPL and additional rights"); /* LGPL */ MODULE_LICENSE("GPL and additional rights"); /* LGPL */
CERN_SUPER_MODULE;
...@@ -6,7 +6,7 @@ ZIO ?= ../zio ...@@ -6,7 +6,7 @@ ZIO ?= ../zio
LIB = libfmctdc.a LIB = libfmctdc.a
LOBJ := fmctdc-lib.o LOBJ := fmctdc-lib.o
CFLAGS = -Wall -ggdb -O2 -I../kernel -I$(ZIO)/include CFLAGS = -Wall -ggdb -O2 -I../kernel -I$(ZIO)/include $(EXTRACFLAGS)
DESTDIR ?= /usr/local DESTDIR ?= /usr/local
......
DESTDIR ?= /usr/local/
LIBTDC = ../lib/
TESTS = fmc-tdc-list \ TESTS = fmc-tdc-list \
fmc-tdc-term \ fmc-tdc-term \
fmc-tdc-read \ fmc-tdc-read \
...@@ -5,10 +8,10 @@ TESTS = fmc-tdc-list \ ...@@ -5,10 +8,10 @@ TESTS = fmc-tdc-list \
fmc-tdc-temperature \ fmc-tdc-temperature \
fmc-tdc-time fmc-tdc-time
CFLAGS = -I. -I../lib -I../kernel -Wall CFLAGS = -I. -I$(LIBTDC) -I../kernel -Wall $(EXTRACFLAGS)
COMMON_SRCS = test-common.c COMMON_SRCS = test-common.c
LDFLAGS = -L../lib -lfmctdc LDFLAGS = -L$(LIBTDC) -lfmctdc
all: $(TESTS) all: $(TESTS)
...@@ -17,4 +20,11 @@ all: $(TESTS) ...@@ -17,4 +20,11 @@ all: $(TESTS)
clean: clean:
rm -f $(TESTS) test-common.o rm -f $(TESTS) test-common.o
\ No newline at end of file
# make nothing for modules_install, but avoid errors
modules_install:
install:
install -d $(DESTDIR)/bin
install -D $(TESTS) $(DESTDIR)/bin
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment