Submakefile
1 ifneq ($(KERNELRELEASE),) 2 COMPS := $(patsubst $(BASEPWD)/%,%,$(wildcard $(BASEPWD)/hal/components/*.comp $(BASEPWD)/hal/drivers/*.comp)) 3 include $(patsubst %.comp, $(BASEPWD)/objects/%.mak, $(COMPS)) 4 else 5 CONVERTERS := \ 6 conv_float_s32.comp conv_float_u32.comp \ 7 conv_bit_s32.comp conv_bit_u32.comp conv_bit_float.comp \ 8 conv_s32_float.comp conv_s32_bit.comp conv_s32_u32.comp \ 9 conv_u32_float.comp conv_u32_bit.comp conv_u32_s32.comp 10 COMPS := $(sort $(wildcard hal/components/*.comp) $(addprefix hal/components/, $(CONVERTERS))) 11 COMP_MANPAGES := $(patsubst hal/components/%.comp, ../docs/man/man9/%.9, $(COMPS)) 12 ifeq ($(BUILD_SYS),uspace) 13 COMP_DRIVERS += hal/drivers/serport.comp 14 COMP_DRIVERS += hal/drivers/mesa_7i65.comp 15 else 16 COMP_DRIVERS := $(wildcard hal/drivers/*.comp) 17 endif 18 COMP_DRIVER_MANPAGES := $(patsubst hal/drivers/%.comp, ../docs/man/man9/%.9, $(COMP_DRIVERS)) 19 TARGETS += manpages 20 GENERATED_MANPAGES += $(COMP_MANPAGES) 21 GENERATED_MANPAGES += $(COMP_DRIVER_MANPAGES) 22 .PHONY: manpages 23 ifeq ($(TRIVIAL_BUILD),no) 24 -include $(patsubst %.comp, objects/%.mak, $(COMPS) $(COMP_DRIVERS)) 25 Makefile: $(patsubst %.comp, objects/%.mak, $(COMPS) $(COMP_DRIVERS)) 26 endif 27 endif 28 29 obj-m += $(patsubst hal/drivers/%.comp, %.o, $(patsubst hal/components/%.comp, %.o, $(COMPS) $(COMP_DRIVERS))) 30 31 $(COMP_MANPAGES): ../docs/man/man9/%.9: hal/components/%.comp ../bin/halcompile 32 $(ECHO) Making halcompile manpage $(notdir $@) 33 @mkdir -p $(dir $@) 34 $(Q)../bin/halcompile -U --document -o $@ $< 35 36 $(COMP_DRIVER_MANPAGES): ../docs/man/man9/%.9: hal/drivers/%.comp ../bin/halcompile 37 $(ECHO) Making halcompile manpage $(notdir $@) 38 @mkdir -p $(dir $@) 39 $(Q)../bin/halcompile -U --document -o $@ $< 40 41 objects/%.mak: %.comp hal/components/Submakefile 42 $(ECHO) "Creating $(notdir $@)" 43 @mkdir -p $(dir $@) 44 $(Q)echo $(notdir $*)-objs := objects/$*.o > $@.tmp 45 $(Q)echo ../rtlib/$(notdir $*)$(MODULE_EXT): objects/rtobjects/$*.o >> $@.tmp 46 $(Q)mv -f $@.tmp $@ 47 48 objects/%.c: %.comp ../bin/halcompile 49 $(ECHO) "Preprocessing $(notdir $<)" 50 @mkdir -p $(dir $@) 51 $(Q)../bin/halcompile -U -o $@ $< 52 53 modules: $(patsubst %.comp, objects/%.c, $(COMPS) $(COMP_DRIVERS)) 54 55 # keep this make target in 2.6, remove in 2.7 (just use 'clean-manpages' in 2.7+) 56 clean-comp-manpages: clean-manpages 57 58 HALSTREAMERSRCS := hal/components/streamer_usr.c 59 USERSRCS += $(HALSTREAMERSRCS) 60 61 ../bin/halstreamer: $(call TOOBJS, $(HALSTREAMERSRCS)) ../lib/liblinuxcnchal.so.0 62 $(ECHO) Linking $(notdir $@) 63 $(Q)$(CC) $(LDFLAGS) -o $@ $^ 64 TARGETS += ../bin/halstreamer 65 66 HALSAMPLERSRCS := hal/components/sampler_usr.c 67 USERSRCS += $(HALSAMPLERSRCS) 68 69 ../bin/halsampler: $(call TOOBJS, $(HALSAMPLERSRCS)) ../lib/liblinuxcnchal.so.0 70 $(ECHO) Linking $(notdir $@) 71 $(Q)$(CC) $(LDFLAGS) -o $@ $^ 72 TARGETS += ../bin/halsampler 73 74 PYSAMPLERSRCS := hal/components/panelui.c 75 USERSRCS += $(PYSAMPLERSRCS) 76 PYFLAGS := -L$(SITEPY) -lpthread $(LIBDL) -lutil -lm -l$(LIBPYTHON) -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -lrt 77 78 ../bin/panelui: $(call TOOBJS, $(PYSAMPLERSRCS)) ../lib/liblinuxcnchal.so.0 79 $(ECHO) Linking $(notdir $@) 80 $(Q)$(CC) -o $@ $^ $(PYFLAGS) 81 TARGETS += ../bin/panelui 82 83 hal/components/conv_float_s32.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile 84 $(ECHO) converting conv for $(notdir $@) 85 $(Q)sh hal/components/mkconv.sh float s32 "" -2147483647-1 2147483647 < $< > $@ 86 87 hal/components/conv_float_u32.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile 88 $(ECHO) converting conv for $(notdir $@) 89 $(Q)sh hal/components/mkconv.sh float u32 "" 0 2147483647 < $< > $@ 90 91 hal/components/conv_bit_s32.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile 92 $(ECHO) converting conv for $(notdir $@) 93 $(Q)sh hal/components/mkconv.sh bit s32 // < $< > $@ 94 95 hal/components/conv_bit_u32.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile 96 $(ECHO) converting conv for $(notdir $@) 97 $(Q)sh hal/components/mkconv.sh bit u32 // < $< > $@ 98 99 hal/components/conv_bit_float.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile 100 $(ECHO) converting conv for $(notdir $@) 101 $(Q)sh hal/components/mkconv.sh bit float // < $< > $@ 102 103 hal/components/conv_s32_float.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile 104 $(ECHO) converting conv for $(notdir $@) 105 $(Q)sh hal/components/mkconv.sh s32 float // < $< > $@ 106 107 hal/components/conv_s32_bit.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile 108 $(ECHO) converting conv for $(notdir $@) 109 $(Q)sh hal/components/mkconv.sh s32 bit "" 0 1 < $< > $@ 110 111 hal/components/conv_s32_u32.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile 112 $(ECHO) converting conv for $(notdir $@) 113 $(Q)sh hal/components/mkconv.sh s32 u32 "" 0 0 < $< > $@ 114 115 hal/components/conv_u32_float.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile 116 $(ECHO) converting conv for $(notdir $@) 117 $(Q)sh hal/components/mkconv.sh u32 float // < $< > $@ 118 119 hal/components/conv_u32_bit.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile 120 $(ECHO) converting conv for $(notdir $@) 121 $(Q)sh hal/components/mkconv.sh u32 bit "" -1 1 < $< > $@ 122 123 hal/components/conv_u32_s32.comp: hal/components/conv.comp.in hal/components/mkconv.sh hal/components/Submakefile 124 $(ECHO) converting conv for $(notdir $@) 125 $(Q)sh hal/components/mkconv.sh u32 s32 "" -1 2147483647 < $< > $@