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
|
# tmpasm script for compiling a plugin_src/ module as a plugin
# Requires variables before the include:
# /local/pcb/mod basename of the module (e.g. autoplace)
# /local/pcb/mod/OBJS full path of all object files
# /local/pcb/mod/OBJS_C99 full path of all object files for non-c89
# clean up input vars
uniq /local/pcb/mod/OBJS
uniq /local/pcb/mod/OBJS_C99
uniq /local/pcb/mod/CFLAGS
uniq /local/pcb/mod/LDFLAGS
uniq /local/pcb/mod/LIBS
# generate .c -> .o rules in /local/comp/output
put /local/comp/OBJS ?/local/pcb/mod/OBJS
put /local/comp/OBJS_C99 ?/local/pcb/mod/OBJS_C99
put /local/comp/CFLAGS /local/pcb/mod/CFLAGS
include {../src_3rd/librnd-local/src/librnd/scconfig/template/comp_var.tmpasm}
append /local/pcb/all [@ $(PLUGIDIR)/@/local/pcb/mod@.so @]
append /local/pcb/rules/install_ [@
$(SCCBOX) $(HOW) "$(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so" "$(LIBDIR)/plugins/@/local/pcb/mod@.so"
$(SCCBOX) $(HOW) "$(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.pup" "$(LIBDIR)/plugins/@/local/pcb/mod@.pup"@]
append /local/pcb/CLEANFILES [@ $(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so $(PLUGIDIR)/@/local/pcb/mod@.so $(PLUGIDIR)/@/local/pcb/mod@.pup @/local/pcb/mod/OBJS@ @/local/pcb/mod/OBJS_C99@ @]
append /local/pcb/RULES [@
### Module @/local/pcb/mod@: plugin ###
$(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so: @/local/pcb/mod/OBJS@ @/local/pcb/mod/OBJS_C99@
$(CC) -shared @cc/rdynamic@ -o $(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so @/local/pcb/mod/OBJS@ @/local/pcb/mod/OBJS_C99@ $(LDFLAGS) @/local/pcb/mod/LDFLAGS@
mod_@/local/pcb/mod@: $(PLUGIDIR)/@/local/pcb/mod@.so
$(PLUGIDIR)/@/local/pcb/mod@.so: $(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so
$(MKDIR) $(PLUGIDIR)
$(CP) $(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.so $(PLUGIDIR)/@/local/pcb/mod@.so
$(CP) $(PLUGDIR)/@/local/pcb/mod@/@/local/pcb/mod@.pup $(PLUGIDIR)/@/local/pcb/mod@.pup
# module .c -> .o rules
@/local/comp/output@
### Module @/local/pcb/mod@ end ###
@]
include /local/pcb/tmpasm/common_enabled
|