aboutsummaryrefslogtreecommitdiffstats
path: root/src/hal/components/Submakefile
blob: 3542102338cbef130acf5de958c1b96781bda84b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
ifneq ($(KERNELRELEASE),)
COMPS := $(filter-out %/tpcomp.comp, $(patsubst $(BASEPWD)/%,%,$(wildcard $(BASEPWD)/hal/components/*.comp $(BASEPWD)/hal/drivers/*.comp)))
include $(patsubst %.comp, $(BASEPWD)/objects/%.mak, $(COMPS))
else
CONVERTERS :=  \
    conv_float_s32.comp conv_float_u32.comp \
    conv_bit_s32.comp conv_bit_u32.comp conv_bit_float.comp \
    conv_s32_float.comp conv_s32_bit.comp conv_s32_u32.comp \
    conv_u32_float.comp conv_u32_bit.comp conv_u32_s32.comp
COMPS := $(filter-out hal/components/tpcomp.comp, $(sort $(wildcard hal/components/*.comp) $(addprefix hal/components/, $(CONVERTERS))))
COMP_MANPAGES := $(patsubst hal/components/%.comp, ../docs/man/man9/%.9, $(COMPS)) ../docs/man/man9/tpcomp.9
ifeq ($(BUILD_SYS),uspace)
COMP_DRIVERS += hal/drivers/serport.comp
COMP_DRIVERS += hal/drivers/mesa_7i65.comp
COMP_DRIVERS += hal/drivers/mesa_uart.comp
else
COMP_DRIVERS := $(wildcard hal/drivers/*.comp)
endif
COMP_DRIVER_MANPAGES := $(patsubst hal/drivers/%.comp, ../docs/man/man9/%.9, $(COMP_DRIVERS))
TARGETS += manpages
GENERATED_MANPAGES += $(COMP_MANPAGES)
GENERATED_MANPAGES += $(COMP_DRIVER_MANPAGES)
.PHONY: manpages
ifeq ($(TRIVIAL_BUILD),no)
-include $(patsubst %.comp, objects/%.mak, $(COMPS) $(COMP_DRIVERS))
Makefile: $(patsubst %.comp, objects/%.mak, $(COMPS) $(COMP_DRIVERS))
endif
endif

obj-m += $(patsubst hal/drivers/%.comp, %.o, $(patsubst hal/components/%.comp, %.o, $(COMPS) $(COMP_DRIVERS)))

$(COMP_MANPAGES): ../docs/man/man9/%.9: hal/components/%.comp ../bin/halcompile
	$(ECHO) Making halcompile manpage $(notdir $@)
	@mkdir -p $(dir $@)
	$(Q)../bin/halcompile -U --document -o $@ $<

$(COMP_DRIVER_MANPAGES): ../docs/man/man9/%.9: hal/drivers/%.comp ../bin/halcompile
	$(ECHO) Making halcompile manpage $(notdir $@)
	@mkdir -p $(dir $@)
	$(Q)../bin/halcompile -U --document -o $@ $<

objects/%.mak: %.comp hal/components/Submakefile
	$(ECHO) "Creating $(notdir $@)"
	@mkdir -p $(dir $@)
	$(Q)echo $(notdir $*)-objs := objects/$*.o > $@.tmp
	$(Q)echo ../rtlib/$(notdir $*)$(MODULE_EXT): objects/rtobjects/$*.o >> $@.tmp
	$(Q)mv -f $@.tmp $@

objects/%.c: %.comp ../bin/halcompile
	$(ECHO) "Preprocessing $(notdir $<)"
	@mkdir -p $(dir $@)
	$(Q)../bin/halcompile -U -o $@ $<

modules: $(patsubst %.comp, objects/%.c, $(COMPS) $(COMP_DRIVERS))

# keep this make target in 2.6, remove in 2.7 (just use 'clean-manpages' in 2.7+)
clean-comp-manpages: clean-manpages

HALSTREAMERSRCS := hal/components/streamer_usr.c
USERSRCS += $(HALSTREAMERSRCS)

../bin/halstreamer: $(call TOOBJS, $(HALSTREAMERSRCS)) ../lib/liblinuxcnchal.so.0
	$(ECHO) Linking $(notdir $@)
	$(Q)$(CC) $(LDFLAGS) -o $@ $^
TARGETS += ../bin/halstreamer

HALSAMPLERSRCS := hal/components/sampler_usr.c
USERSRCS += $(HALSAMPLERSRCS)

../bin/halsampler: $(call TOOBJS, $(HALSAMPLERSRCS)) ../lib/liblinuxcnchal.so.0
	$(ECHO) Linking $(notdir $@)
	$(Q)$(CC) $(LDFLAGS) -o $@ $^
TARGETS += ../bin/halsampler

PYSAMPLERSRCS := hal/components/panelui.c
USERSRCS += $(PYSAMPLERSRCS)
PYFLAGS := $(PYTHON_EXTRA_LDFLAGS) $(BOOST_PYTHON_LIB) $(PYTHON_LIBS) $(PYTHON_EXTRA_LIBS) -lrt

../bin/panelui: $(call TOOBJS, $(PYSAMPLERSRCS)) ../lib/liblinuxcnchal.so.0
	$(ECHO) Linking $(notdir $@)
	$(Q)$(CC) -o $@ $^ $(PYFLAGS)
TARGETS += ../bin/panelui

hal/components/conv_float_s32.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
	$(ECHO) converting conv for $(notdir $@)
	$(Q)sh hal/components/mkconv.sh float s32 "" -2147483647-1 2147483647 < $< > $@

hal/components/conv_float_u32.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
	$(ECHO) converting conv for $(notdir $@)
	$(Q)sh hal/components/mkconv.sh float u32 "" 0 2147483647 < $< > $@

hal/components/conv_bit_s32.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
	$(ECHO) converting conv for $(notdir $@)
	$(Q)sh hal/components/mkconv.sh bit s32 // < $< > $@

hal/components/conv_bit_u32.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
	$(ECHO) converting conv for $(notdir $@)
	$(Q)sh hal/components/mkconv.sh bit u32 // < $< > $@

hal/components/conv_bit_float.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
	$(ECHO) converting conv for $(notdir $@)
	$(Q)sh hal/components/mkconv.sh bit float // < $< > $@

hal/components/conv_s32_float.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
	$(ECHO) converting conv for $(notdir $@)
	$(Q)sh hal/components/mkconv.sh s32 float // < $< > $@

hal/components/conv_s32_bit.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
	$(ECHO) converting conv for $(notdir $@)
	$(Q)sh hal/components/mkconv.sh s32 bit "" 0 1 < $< > $@

hal/components/conv_s32_u32.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
	$(ECHO) converting conv for $(notdir $@)
	$(Q)sh hal/components/mkconv.sh s32 u32 "" 0 0 < $< > $@

hal/components/conv_u32_float.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
	$(ECHO) converting conv for $(notdir $@)
	$(Q)sh hal/components/mkconv.sh u32 float // < $< > $@

hal/components/conv_u32_bit.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
	$(ECHO) converting conv for $(notdir $@)
	$(Q)sh hal/components/mkconv.sh u32 bit "" -1 1 < $< > $@

hal/components/conv_u32_s32.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile
	$(ECHO) converting conv for $(notdir $@)
	$(Q)sh hal/components/mkconv.sh u32 s32 "" -1 2147483647 < $< > $@
bues.ch cgit interface